PostSharp 5.0 / / Post­Sharp Documentation / API Reference / Post­Sharp.​Extensibility Namespace / Implementation­Bound­Attribute­Attribute Class

ImplementationBoundAttributeAttribute Class

Custom attribute meaning that custom attributes of a given type are bound to the implementation, not to the semantics.
Inheritance Hierarchy
System.Object
  System.Attribute
    PostSharp.Extensibility.ImplementationBoundAttributeAttribute

Namespace:  PostSharp.Extensibility
Assembly:  PostSharp (in PostSharp.dll) Version: 5.0.55.0 (5.0.55.0)
Syntax
C#
public sealed class ImplementationBoundAttributeAttribute : Attribute

The ImplementationBoundAttributeAttribute type exposes the following members.

Constructors
  NameDescription
Public methodImplementationBoundAttributeAttribute
Initializes the new ImplementationBoundAttributeAttribute.
Properties
  NameDescription
Public propertyAttributeType
Gets the type of the custom attribute that should not be moved from implementation to semantic
Extension Methods
  NameDescription
Public Extension MethodQueryInterface<T>
Gets the implementation of a specified interface for the specified object.
(Defined by QueryInterfaceExtensions.)
Remarks

This custom attribute influences whether instances of a given other custom attribute should be moved from the semantic to the implementation, when the semantic is detached from the implementation. This happens for instance when a property is generated from a field; the property become the semantic (and is made public) and the field the implementation (and is made private). Most custom attributes apply to semantics, so they are moved from the field to the property. If a custom attribute must not be moved, it should be marked with the ImplementationBoundAttributeAttribute custom attribute.

See Also