Class Generator<TUntypedGenerator, TDescendant>
Base of typed generators.
Inheritance
System.Object
Generator<TUntypedGenerator, TDescendant>
Namespace: Solti.Utils.Proxy.Internals
Assembly: Solti.Utils.Proxy.dll
Syntax
public abstract class Generator<TUntypedGenerator, TDescendant> : Object where TUntypedGenerator : Generator where TDescendant : Generator<TUntypedGenerator, TDescendant>, new()
Type Parameters
| Name | Description |
|---|---|
| TUntypedGenerator | |
| TDescendant |
Remarks
Generators should not be instantiated. To access the created System.Type use the GetGeneratedType() or GetGeneratedTypeAsync(CancellationToken) method.
Constructors
Generator()
Declaration
protected Generator()
Properties
Instance
The singleton generator instance.
Declaration
public static TUntypedGenerator Instance { get; }
Property Value
| Type | Description |
|---|---|
| TUntypedGenerator |
Methods
GetConcreteGenerator()
Gets the concrete generator.
Declaration
protected abstract TUntypedGenerator GetConcreteGenerator()
Returns
| Type | Description |
|---|---|
| TUntypedGenerator |
GetGeneratedType()
Gets the generated System.Type.
Declaration
public static Type GetGeneratedType()
Returns
| Type | Description |
|---|---|
| System.Type |
Remarks
The returned System.Type is generated only once.
GetGeneratedTypeAsync(CancellationToken)
Gets the generated System.Type asynchronously.
Declaration
public static Task<Type> GetGeneratedTypeAsync(CancellationToken cancellation = null)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Threading.CancellationToken | cancellation |
Returns
| Type | Description |
|---|---|
| System.Threading.Tasks.Task<System.Type> |
Remarks
The returned System.Type is generated only once.