Class SingleDecoratorProvider<TDecorated, TDecorator, TAttribute>
Inheritance
SingleDecoratorProvider<TDecorated, TDecorator, TAttribute>
Namespace: Ludiq
Syntax
public abstract class SingleDecoratorProvider<TDecorated, TDecorator, TAttribute>
where TAttribute : Attribute, IRegisterDecoratorAttribute
Type Parameters
Name |
Description |
TDecorated |
|
TDecorator |
|
TAttribute |
|
Constructors
SingleDecoratorProvider()
Declaration
protected SingleDecoratorProvider()
Fields
decorateds
Declaration
protected readonly Dictionary<TDecorator, TDecorated> decorateds
Field Value
Type |
Description |
Dictionary<TDecorator, TDecorated> |
|
decorators
Declaration
protected readonly Dictionary<TDecorated, TDecorator> decorators
Field Value
Type |
Description |
Dictionary<TDecorated, TDecorator> |
|
definedDecoratorTypes
Declaration
protected readonly Dictionary<Type, Type> definedDecoratorTypes
Field Value
instancesLock
Declaration
protected readonly object instancesLock
Field Value
resolvedDecoratorTypes
Declaration
protected readonly Dictionary<Type, Type> resolvedDecoratorTypes
Field Value
typesLock
Declaration
protected readonly object typesLock
Field Value
Properties
cache
Declaration
protected abstract bool cache { get; }
Property Value
freeInterval
Declaration
protected virtual TimeSpan freeInterval { get; }
Property Value
registrationAssemblies
Declaration
protected virtual IEnumerable<Assembly> registrationAssemblies { get; }
Property Value
Methods
CreateDecorator(Type, TDecorated)
Declaration
protected virtual TDecorator CreateDecorator(Type decoratorType, TDecorated decorated)
Parameters
Type |
Name |
Description |
Type |
decoratorType |
|
TDecorated |
decorated |
|
Returns
Type |
Description |
TDecorator |
|
Free(TDecorator)
Declaration
public void Free(TDecorator decorator)
Parameters
Type |
Name |
Description |
TDecorator |
decorator |
|
Free(IEnumerable<TDecorator>)
Declaration
public void Free(IEnumerable<TDecorator> decorators)
Parameters
Type |
Name |
Description |
IEnumerable<TDecorator> |
decorators |
|
FreeAll()
Declaration
FreeInvalid()
Declaration
public void FreeInvalid()
GetDecoratedType(TDecorated)
Declaration
protected virtual Type GetDecoratedType(TDecorated decorated)
Parameters
Type |
Name |
Description |
TDecorated |
decorated |
|
Returns
GetDecorator(TDecorated)
Declaration
public TDecorator GetDecorator(TDecorated decorated)
Parameters
Type |
Name |
Description |
TDecorated |
decorated |
|
Returns
Type |
Description |
TDecorator |
|
GetDecorator<T>(TDecorated)
Declaration
public T GetDecorator<T>(TDecorated decorated)
where T : TDecorator
Parameters
Type |
Name |
Description |
TDecorated |
decorated |
|
Returns
Type Parameters
GetDecoratorType(Type)
Declaration
public Type GetDecoratorType(Type decoratedType)
Parameters
Type |
Name |
Description |
Type |
decoratedType |
|
Returns
HasDecorator(Type)
Declaration
public bool HasDecorator(Type decoratedType)
Parameters
Type |
Name |
Description |
Type |
decoratedType |
|
Returns
IsValid(TDecorated)
Declaration
public bool IsValid(TDecorated decorated)
Parameters
Type |
Name |
Description |
TDecorated |
decorated |
|
Returns
IsValid(TDecorated, out String)
Declaration
public virtual bool IsValid(TDecorated decorated, out string reason)
Parameters
Type |
Name |
Description |
TDecorated |
decorated |
|
String |
reason |
|
Returns
NoDecoratorMessage(Type)
Declaration
protected virtual string NoDecoratorMessage(Type decoratedType)
Parameters
Type |
Name |
Description |
Type |
decoratedType |
|
Returns
ResolveDecoratorType(Type)
Declaration
protected virtual Type ResolveDecoratorType(Type decoratedType)
Parameters
Type |
Name |
Description |
Type |
decoratedType |
|
Returns
ResolveDecoratorTypeByHierarchy(Type, Boolean)
Declaration
protected Type ResolveDecoratorTypeByHierarchy(Type decoratedType, bool inherit = true)
Parameters
Type |
Name |
Description |
Type |
decoratedType |
|
Boolean |
inherit |
|
Returns
TryGetDecoratorType(Type, out Type)
Declaration
public bool TryGetDecoratorType(Type decoratedType, out Type decoratorType)
Parameters
Type |
Name |
Description |
Type |
decoratedType |
|
Type |
decoratorType |
|
Returns
Extension Methods