armat.substance
1.0.0
dotnet add package armat.substance --version 1.0.0
NuGet\Install-Package armat.substance -Version 1.0.0
<PackageReference Include="armat.substance" Version="1.0.0" />
paket add armat.substance --version 1.0.0
#r "nuget: armat.substance, 1.0.0"
// Install armat.substance as a Cake Addin #addin nuget:?package=armat.substance&version=1.0.0 // Install armat.substance as a Cake Tool #tool nuget:?package=armat.substance&version=1.0.0
Armat Substance
The Armat.Substance
.Net library is dedicated to instantiate objects at runtime based on the assembly and class names.
The Armat.Substance.Descriptor
struct is used to declare the type of object to be created, as well as an XML configuration to be used for initializing the dynamic object.
In this context the "Substance" refers to an "Instance" of an object that has been created based on the 'Descriptor'. The Substance Descriptors themselves can be serialized into/from XML, thus becoming part of an application configuration.
The Armat.Substance.Factory
class represents the core functionality of the library.
It allows creating object instances (substances) based on the given descriptors.
Although there's a static Default
instance of a Factory, any number of Factory
instances can be created & used for specific purposes.
Following are the main methods exposed by Armat.Substance.Factory
class:
Object CreateObject(Descriptor descriptor, Object[] constructParams)
Instantiates an object based on the provided descriptor and constructor arguments.T Create<T>(Descriptor descriptor, Object[] constructParams)
Instantiates an object of typeT
based on the provided descriptor and constructor arguments.T Create<T>(Descriptor descriptor)
Instantiates an object of typeT
based on the provided descriptor.Type? GetType(String className, String assemblyName)
Returns the type referred by the givenclassName
andassemblyName
.- Type? GetType(String className)
Returns the type referred by the given
className
.
Note: The appropriate assembly will be automatically loaded if it's not loaded yet.
Note: Armat.Substance library does a lot more then what is described above. More details to be documented in the near future.
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 was computed. 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. |
-
net6.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.0 | 98 | 9/29/2024 |