AttributeProviderAttribute AttributeProviderAttribute AttributeProviderAttribute AttributeProviderAttribute Class

정의

특성 리디렉션을 활성화합니다.Enables attribute redirection. 이 클래스는 상속될 수 없습니다.This class cannot be inherited.

public ref class AttributeProviderAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.Property)]
public class AttributeProviderAttribute : Attribute
type AttributeProviderAttribute = class
    inherit Attribute
Public Class AttributeProviderAttribute
Inherits Attribute
상속
AttributeProviderAttributeAttributeProviderAttributeAttributeProviderAttributeAttributeProviderAttribute
특성

예제

다음 코드 예제를 사용 하 여 하는 방법을 보여 줍니다 AttributeProviderAttribute 표시 하는 DataSource 속성의 특정 형식과 IListSource합니다.The following code example demonstrates using AttributeProviderAttribute to mark a DataSource property with a specific type of IListSource. 전체 코드 목록은 참조 하세요 방법: Windows Forms 컨트롤에서 특성 적용합니다.For a full code listing, see How to: Apply Attributes in Windows Forms Controls.

[Category("Data")]
[Description("Indicates the source of data for the control.")]
[RefreshProperties(RefreshProperties.Repaint)]
[AttributeProvider(typeof(IListSource))]
public object DataSource
{
    get
    {
        return this.dataGridView1.DataSource;
    }

    set
    {
        this.dataGridView1.DataSource = value;
    }
}
<Category("Data"), _
Description("Indicates the source of data for the control."), _
RefreshProperties(RefreshProperties.Repaint), _
AttributeProvider(GetType(IListSource))> _
Public Property DataSource() As Object
    Get
        Return Me.dataGridView1.DataSource
    End Get

    Set(ByVal value As Object)
        Me.dataGridView1.DataSource = value
    End Set
End Property

설명

여기서 속성은 의도적으로 하 게 형식화 된 막연 한.NET Framework 개체 모델의 몇 가지 경우가 있습니다.There are a few cases in the .NET Framework object model where a property is purposely typed to be vague. 예를 들어 합니다 DataGridView.DataSource 속성으로 입력 된 object합니다.For example, the DataGridView.DataSource property is typed as object. 이러한 이유로이 속성에 여러 유형의 입력을 사용할 수 있는 경우The reason for this is that this property can accept several types of input. 그러나이 속성의 특징을 설명 하는 메타 데이터를 추가 하려면 일반적인 장소가 없는지를 제공 합니다.Unfortunately, this provides no common place to add metadata to describe the characteristics of the property. DataSource .NET Framework 전반에 걸쳐 속성 형식 변환기, UI 형식 편집기 및 메타 데이터를 필요로 하는 기타 서비스에 대 한 동일한 메타 데이터를 해야 합니다.Each DataSource property throughout the .NET Framework needs to have identical metadata for type converters, UI type editors, and other services that require metadata. AttributeProviderAttribute 이 문제를 해결 합니다.The AttributeProviderAttribute remedies this situation.

가져오기에 대 한 규칙 속성 설명자의 특성이이 특성은 속성에 배치 되 면 면 MemberDescriptor.Attributes 컬렉션 다릅니다.Once this attribute is placed on a property, the rules for obtaining attributes for the property descriptor's MemberDescriptor.Attributes collection differ. 일반적으로 속성 설명자는 로컬 속성을 수집 하 고 속성 형식이 특성을 사용 하 여 이러한를 병합 합니다.Typically, the property descriptor gathers local attributes, and then merges these with attributes from the property type. 특성에서 반환 되는 형식에서 가져온 것이 경우에 AttributeProviderAttribute, 실제 속성 형식 제거 되지 않습니다.In this case, the attributes are taken from the type returned from the AttributeProviderAttribute, not from the actual property type. 이 특성에 사용 되 DataGridView.DataSource 가리키도록를 DataGridView.DataSource 개체의 특정 유형을 IListSource, 해당 메타 데이터에 적용 됩니다 IListSource 데이터 바인딩을 사용 하도록 설정 합니다.This attribute is used on DataGridView.DataSource to point the DataGridView.DataSource object's specific type to IListSource, and the appropriate metadata is placed on IListSource to enable data binding. 외부 당사자는 과정에서 모든 데이터 원본에 메타 데이터를 쉽게 추가할 수 있습니다.In so doing, external parties can easily add metadata to all data sources.

에 선언 된 형식에서 가져온 특성을 AttributeProviderAttribute 속성에 속성의 형식 특성 및 특성 사이 순위가 합니다.Attributes obtained from a type declared in the AttributeProviderAttribute have a priority in between the attributes of the property's type and the attributes on the property. 다음은 우선 순위에 따라 병합 된 사용 가능한 특성의 전체 집합 표시:The following list, in priority order, shows the full set of available merged attributes:

  • 속성 특성Property Attributes

  • 특성 공급자 특성Attribute Provider Attributes

  • 속성 형식 특성Property Type Attributes

생성자

AttributeProviderAttribute(String) AttributeProviderAttribute(String) AttributeProviderAttribute(String) AttributeProviderAttribute(String)

지정된 형식 이름을 사용하여 AttributeProviderAttribute 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the AttributeProviderAttribute class with the given type name.

AttributeProviderAttribute(String, String) AttributeProviderAttribute(String, String) AttributeProviderAttribute(String, String) AttributeProviderAttribute(String, String)

지정된 형식 이름과 속성 이름을 사용하여 AttributeProviderAttribute 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the AttributeProviderAttribute class with the given type name and property name.

AttributeProviderAttribute(Type) AttributeProviderAttribute(Type) AttributeProviderAttribute(Type) AttributeProviderAttribute(Type)

지정된 형식을 사용하여 AttributeProviderAttribute 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the AttributeProviderAttribute class with the given type.

속성

PropertyName PropertyName PropertyName PropertyName

특성을 검색할 속성의 이름을 가져옵니다.Gets the name of the property for which attributes will be retrieved.

TypeId TypeId TypeId TypeId

파생 클래스에서 구현된 경우 이 Attribute에 대한 고유 식별자를 가져옵니다.When implemented in a derived class, gets a unique identifier for this Attribute.

(Inherited from Attribute)
TypeName TypeName TypeName TypeName

생성자에 전달된 어셈블리로 한정된 형식 이름을 가져옵니다.Gets the assembly qualified type name passed into the constructor.

메서드

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

@FSHO2@이 인스턴스가 지정한 개체와 같은지를 나타내는 값을 반환합니다.Returns a value that indicates whether this instance is equal to a specified object.

(Inherited from Attribute)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

이 인스턴스의 해시 코드를 반환합니다.Returns the hash code for this instance.

(Inherited from Attribute)
GetType() GetType() GetType() GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(Inherited from Object)
IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute()

파생 클래스에서 재정의된 경우 이 인스턴스 값이 파생 클래스에 대한 기본값인지 여부를 표시합니다.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Inherited from Attribute)
Match(Object) Match(Object) Match(Object) Match(Object)

파생 클래스에서 재정의된 경우 이 인스턴스가 지정된 개체와 같은지 여부를 나타내는 값을 반환합니다.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Inherited from Attribute)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

현재 개체를 나타내는 문자열을 반환합니다.Returns a string that represents the current object.

(Inherited from Object)

명시적 인터페이스 구현

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

이름 집합을 해당하는 디스패치 식별자 집합에 매핑합니다.Maps a set of names to a corresponding set of dispatch identifiers.

(Inherited from Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

인터페이스의 형식 정보를 가져오는 데 사용할 수 있는 개체의 형식 정보를 검색합니다.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Inherited from Attribute)
_Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32)

개체에서 제공하는 형식 정보 인터페이스의 수를 검색합니다(0 또는 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Inherited from Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

개체에서 노출하는 메서드와 속성에 대한 액세스를 제공합니다.Provides access to properties and methods exposed by an object.

(Inherited from Attribute)

적용 대상

추가 정보