Open sandboxFocus

Struct TemplateProvider

Wraps a template provider type or instance for use in auxiliary template invocation and advice factory methods.

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)

See Also