Metalama.Framework.Options Namespace
Classes
ApplyChangesAxis
Enumerates the axes along which two option layers can be merged by the ApplyChanges(Object, in ApplyChangesContext) method.
ApplyChangesContext
Context of an ApplyChanges(Object, in ApplyChangesContext) operation.
HierarchicalOptionsAttribute
Custom attribute that, when applied to a class implementing the IHierarchicalOptions interface, specifies how the options are inherited.
IncrementalHashSet
Factory methods for the IncrementalHashSet<T> generic class.
IncrementalHashSet<T>
An immutable hash set where each class instance does not represent the full set but a modification of another set (possibly empty). This class implements the IIncrementalObject interface and can be easily used in the context of an IHierarchicalOptions<T>. The class can represent the Add(T), Remove(T) and Clear<T>() operations.
IncrementalKeyedCollection
Factory for the generic IncrementalKeyedCollection<TKey, TValue> class.
IncrementalKeyedCollection<TKey, TValue>
An immutable keyed collection where each class instance does not represent the full collection but a modification of another collection (possibly empty). This class implements the IIncrementalObject interface and can be easily used in the context of an IHierarchicalOptions<T>. The class can represent the AddOrApplyChanges(TValue), Remove(TKey) and Clear<TKey, TValue>() operations.
IncrementalKeyedCollection<TKey, TValue>.Item
IncrementalObjectExtensions
Extensions of the IIncrementalObject interface.
OptionsInitializationContext
Context of the GetDefaultOptions(OptionsInitializationContext) method.
OptionsProviderContext
Context for the IHierarchicalOptionsProvider.GetOptions(in OptionsProviderContext) method.
Interfaces
IHierarchicalOptions
Base interface for hierarchical options. Hierarchical options are options exposed and consumed by aspects and fabrics. Users can typically set options at different levels of the code level: for the whole project, for a namespace, for a type, or for a member, as decided by the aspect author.
IHierarchicalOptions<T>
An interface, derived from the non-generic IHierarchicalOptions, that means that the options can be set on the type of declarations specified by the generic parameter.
IHierarchicalOptionsProvider
A base interface for attributes that provide options.
IIncrementalKeyedCollectionItem<TKey>
An item in a IncrementalKeyedCollection<TKey, TValue>.
IIncrementalObject
A base interface for all classes whose individual instances represent incremental changes that can be combined with the ApplyChanges(Object, in ApplyChangesContext) method.