Custom attribute that, when applied to an instance field of an aspect class, determines that this field should be bound to a method, event or property, of the target class of this aspect. Valid types for fields are a concrete Delegate (to bind to a method), Property<TValue> or Property<TValue, TIndex> (to bind to a property), or Event<TDelegate> (to bind to an event).
Namespace: PostSharp.Aspects.Advices
Assembly: PostSharp.dll
Syntax
[AttributeUsage(AttributeTargets.Field, AllowMultiple = false)]
public sealed class ImportMemberAttribute : Advice
Remarks
Fields annotated with the ImportMemberAttribute custom attribute must be public and must not be read only.
At runtime, these fields are assigned to a delegate (in case of method binding) or a pair of delegates (in case of event or property binding) allowing to invoke the imported member.
When IsRequired property is set to true
and the target type does not contain a member of the required
name and signature, then a build error will be raised.
When multiple member names are specified, the first existing member satisfying all conditions is used.
Constructors
Name | Description |
---|---|
ImportMemberAttribute(string) | Initializes a new ImportMemberAttribute and specifies a single name for the member to import. |
ImportMemberAttribute(params string[]) | Initializes a new ImportMemberAttribute and specifies several possible names for the member to import. |
Properties
Name | Description |
---|---|
IsRequired | Determines whether a build time error must be issued if the member to be
imported is absent. If |
MemberNames | Array of possible names of imported member in the order of precedence. |
Order | Determines when the member should be imported: either before (BeforeIntroductions) or after (AfterIntroductions) members have been introduced by the current aspect. Default is BeforeIntroductions. |