Frontmatec.ComponentModel 1.0.8

dotnet add package Frontmatec.ComponentModel --version 1.0.8                
NuGet\Install-Package Frontmatec.ComponentModel -Version 1.0.8                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Frontmatec.ComponentModel" Version="1.0.8" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Frontmatec.ComponentModel --version 1.0.8                
#r "nuget: Frontmatec.ComponentModel, 1.0.8"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Frontmatec.ComponentModel as a Cake Addin
#addin nuget:?package=Frontmatec.ComponentModel&version=1.0.8

// Install Frontmatec.ComponentModel as a Cake Tool
#tool nuget:?package=Frontmatec.ComponentModel&version=1.0.8                

Frontmatec.ComponentModel

ComponentFactory

The ComponentFactory class is an encapsulation of Microsoft.Extensions.DependencyInjection.ActivatorUtilities.

var componentFactory = serviceProvider.GetRequiredService<IComponentFactory>();
var instance = componentFactory.CreateInstance<TestClass>();

DataConverter

The DataConvert class is a replacement for System.BitConvert.

https://www.mono-project.com/archived/mono_dataconvert/

The instance methods are useful if you know that all the data processing that you will be doing will be for a specific encoding. To use these methods you obtain an instance of DataConverter from one of the public properties:

static public DataConverter LittleEndian { get; }
static public DataConverter BigEndian { get; }
static public DataConverter Native { get; }

Each one of those instances will provide encoding to and from little endian format, big endian format or the native format of the host. Internally you will get an instance of the proper class: if your endianness matches the requested encoding for example, the data is always copied, otherwise it is swapped.

The following API is recommended if you want to decode the data directly into an existing array without having to allocate data and copying data. You must pass an array that can contain the proper sized value and an index in the destination array to store it:

void PutBytes (byte [] dest, int destIdx, double value);
void PutBytes (byte [] dest, int destIdx, short value);
void PutBytes (byte [] dest, int destIdx, int value);
void PutBytes (byte [] dest, int destIdx, long value);
void PutBytes (byte [] dest, int destIdx, float value);
void PutBytes (byte [] dest, int destIdx, ushort value);
void PutBytes (byte [] dest, int destIdx, uint value);
void PutBytes (byte [] dest, int destIdx, ulong value);

The following family of methods will return newly allocated byte arrays that contain the value encoded in the requested representation:

byte [] GetBytes (double value);
byte [] GetBytes (short value);
byte [] GetBytes (int value);
byte [] GetBytes (long value);
byte [] GetBytes (float value);
byte [] GetBytes (ushort value);
byte [] GetBytes (uint value);
byte [] GetBytes (ulong value);

ObservableDictionary

Represents a dynamic dictionary that provides notifications when items get added or removed.

var dictionary = new ObservableDictionary<string, object>();
dictionary.CollectionChanged += (s, e) => { };

TypeAccessor

using Frontmatec.ComponentModel;

var typeAccessor = TypeAccessor.Create(typeof(TestObject));
var instance = typeAccessor.CreateInstance();
typeAccessor.SetValue(instance, "IntValue", 100);
var value = typeAccessor.GetValue(instance, "IntValue");
Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Frontmatec.ComponentModel:

Package Downloads
Frontmatec.Windows

A WPF library offering styling and components to simplify the development of MVVM-based applications.

Frontmatec.Net.Telegrams

Contains utility classes for integrating and working with Frontmatec telegrams.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.8 93 12/10/2024
1.0.7 85 12/10/2024
1.0.6 86 12/10/2024
1.0.5 114 9/3/2024
1.0.4 105 9/3/2024
1.0.3 1,189 2/29/2024
1.0.2 949 5/16/2023
1.0.1 139 5/16/2023
1.0.0 154 5/16/2023