Frontmatec.ComponentModel
1.0.7
See the version list below for details.
dotnet add package Frontmatec.ComponentModel --version 1.0.7
NuGet\Install-Package Frontmatec.ComponentModel -Version 1.0.7
<PackageReference Include="Frontmatec.ComponentModel" Version="1.0.7" />
paket add Frontmatec.ComponentModel --version 1.0.7
#r "nuget: Frontmatec.ComponentModel, 1.0.7"
// Install Frontmatec.ComponentModel as a Cake Addin #addin nuget:?package=Frontmatec.ComponentModel&version=1.0.7 // Install Frontmatec.ComponentModel as a Cake Tool #tool nuget:?package=Frontmatec.ComponentModel&version=1.0.7
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 | Versions 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. |
-
net6.0
-
net8.0
-
net9.0
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.