Wraps a template provider type or instance for use in auxiliary template invocation and advice factory methods.
Implements
Namespace: Metalama.Framework.Aspects
Assembly: Metalama.Framework.dll
Syntax
[CompileTime]
public readonly struct TemplateProvider : IEquatable<TemplateProvider>Remarks
A TemplateProvider encapsulates either an ITemplateProvider instance or a type that implements ITemplateProvider. This allows templates to be invoked from external classes or from the current aspect.
Use FromInstance(ITemplateProvider?) to wrap an existing template provider instance, or FromType<T>() to specify a template provider type. When passed to InvokeTemplate(string, TemplateProvider, object?) or WithTemplateProvider(ITemplateProvider), Metalama will look up template methods from the specified provider.
Passing default (or a null provider) indicates that the current aspect should be used as the template provider.
Properties
| Name | Description |
|---|---|
| IsNull |
Methods
| Name | Description |
|---|---|
| Equals(TemplateProvider) | |
| Equals(object) | |
| FromInstance(ITemplateProvider?) | Creates a TemplateProvider from an object instance. |
| FromInstanceUnsafe(object?) | |
| FromType<T>() | Creates a TemplateProvider from a type that implements ITemplateProvider. |
| GetHashCode() | |
| ToString() |
Operators
| Name | Description |
|---|---|
| operator ==(TemplateProvider, TemplateProvider) | |
| operator !=(TemplateProvider, TemplateProvider) |