Class MultiDecoratorProvider<TDecorated, TDecorator, TAttribute>
Inheritance
MultiDecoratorProvider<TDecorated, TDecorator, TAttribute>
Namespace: Ludiq
Syntax
public abstract class MultiDecoratorProvider<TDecorated, TDecorator, TAttribute>
where TAttribute : Attribute, IRegisterDecoratorAttribute
Type Parameters
Name |
Description |
TDecorated |
|
TDecorator |
|
TAttribute |
|
Constructors
MultiDecoratorProvider()
Declaration
protected MultiDecoratorProvider()
Fields
definedDecoratorTypes
Declaration
protected readonly Dictionary<Type, HashSet<Type>> definedDecoratorTypes
Field Value
Properties
registrationAssemblies
Declaration
protected virtual IEnumerable<Assembly> registrationAssemblies { get; }
Property Value
Methods
ClearCache()
Declaration
public virtual void ClearCache()
CreateDecorators(TDecorated)
Declaration
protected virtual IEnumerable<TDecorator> CreateDecorators(TDecorated decorated)
Parameters
Type |
Name |
Description |
TDecorated |
decorated |
|
Returns
DirectResolve(Type)
Declaration
protected IEnumerable<Type> DirectResolve(Type type)
Parameters
Type |
Name |
Description |
Type |
type |
|
Returns
GenericResolve(Type)
Declaration
protected IEnumerable<Type> GenericResolve(Type type)
Parameters
Type |
Name |
Description |
Type |
type |
|
Returns
GetDecoratedType(TDecorated)
Declaration
protected virtual Type GetDecoratedType(TDecorated decorated)
Parameters
Type |
Name |
Description |
TDecorated |
decorated |
|
Returns
GetDecorators(TDecorated)
Declaration
public IEnumerable<TDecorator> GetDecorators(TDecorated decorated)
Parameters
Type |
Name |
Description |
TDecorated |
decorated |
|
Returns
GetDecorators<TSpecificDecorator>(TDecorated)
Declaration
public IEnumerable<TSpecificDecorator> GetDecorators<TSpecificDecorator>(TDecorated decorated)
where TSpecificDecorator : TDecorator
Parameters
Type |
Name |
Description |
TDecorated |
decorated |
|
Returns
Type Parameters
Name |
Description |
TSpecificDecorator |
|
GetDecoratorTypes(Type)
Declaration
public IEnumerable<Type> GetDecoratorTypes(Type type)
Parameters
Type |
Name |
Description |
Type |
type |
|
Returns
HasDecorator(Type)
Declaration
public bool HasDecorator(Type type)
Parameters
Type |
Name |
Description |
Type |
type |
|
Returns
ResolveDecoratorTypes(Type)
Declaration
protected virtual IEnumerable<Type> ResolveDecoratorTypes(Type type)
Parameters
Type |
Name |
Description |
Type |
type |
|
Returns
ResolveDecoratorTypesByHierarchy(Type, Boolean)
Declaration
protected IEnumerable<Type> ResolveDecoratorTypesByHierarchy(Type type, bool inherit)
Parameters
Returns
ShouldInvalidateDecorators(TDecorated)
Declaration
protected virtual bool ShouldInvalidateDecorators(TDecorated decorated)
Parameters
Type |
Name |
Description |
TDecorated |
decorated |
|
Returns
Extension Methods