AttributeProviderAttribute 클래스

정의

특성 리디렉션을 활성화합니다. 이 클래스는 상속될 수 없습니다.

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

예제

다음 코드 예제에서는 사용 하 여 AttributeProviderAttribute 특정 형식의 DataSourceIListSource속성을 표시 하는 방법을 보여 줍니다. 전체 코드 목록은 참조 하세요 방법: Windows Forms 컨트롤에서 특성 적용합니다.

[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 개체 모델에는 속성이 의도적으로 모호한 형식으로 입력되는 몇 가지 경우가 있습니다. 예를 들어 속성은 DataGridView.DataSourceobject입력됩니다. 그 이유는 이 속성이 여러 유형의 입력을 허용할 수 있기 때문입니다. 아쉽게도 속성의 특성을 설명하는 메타데이터를 추가하는 일반적인 위치는 없습니다. .NET Framework 전체의 각 DataSource 속성에는 형식 변환기, UI 형식 편집기 및 메타데이터가 필요한 기타 서비스에 대해 동일한 메타데이터가 있어야 합니다. 는 AttributeProviderAttribute 이 상황을 해결합니다.

이 특성이 속성에 배치되면 속성 설명자의 MemberDescriptor.Attributes 컬렉션에 대한 특성을 가져오는 규칙이 다릅니다. 일반적으로 속성 설명자는 로컬 특성을 수집한 다음 이러한 특성을 속성 형식의 특성과 병합합니다. 이 경우 특성은 실제 속성 형식이 아닌 에서 AttributeProviderAttribute반환된 형식에서 가져옵니다. 이 특성은 에서 DataGridView.DataSource 개체의 특정 형식IListSource을 로 가리키는 DataGridView.DataSource 데 사용되며 데이터 바인딩을 사용하도록 설정하기 위해 적절한 메타데이터가 배치 IListSource 됩니다. 이렇게 하면 외부 당사자가 모든 데이터 원본에 메타데이터를 쉽게 추가할 수 있습니다.

AttributeProviderAttribute 선언된 형식에서 가져온 특성은 속성 형식의 특성과 속성의 특성 간에 우선 순위가 있습니다. 다음 목록에서는 우선 순위에 따라 사용 가능한 병합된 특성의 전체 집합을 보여줍니다.

  • 속성 특성

  • 특성 공급자 특성

  • 속성 형식 특성

생성자

AttributeProviderAttribute(String)

지정된 형식 이름을 사용하여 AttributeProviderAttribute 클래스의 새 인스턴스를 초기화합니다.

AttributeProviderAttribute(String, String)

지정된 형식 이름과 속성 이름을 사용하여 AttributeProviderAttribute 클래스의 새 인스턴스를 초기화합니다.

AttributeProviderAttribute(Type)

지정된 형식을 사용하여 AttributeProviderAttribute 클래스의 새 인스턴스를 초기화합니다.

속성

PropertyName

특성을 검색할 속성의 이름을 가져옵니다.

TypeId

파생 클래스에서 구현된 경우 이 Attribute에 대한 고유 식별자를 가져옵니다.

(다음에서 상속됨 Attribute)
TypeName

생성자에 전달된 어셈블리로 한정된 형식 이름을 가져옵니다.

메서드

Equals(Object)

이 인스턴스가 지정된 개체와 같은지를 나타내는 값을 반환합니다.

(다음에서 상속됨 Attribute)
GetHashCode()

이 인스턴스의 해시 코드를 반환합니다.

(다음에서 상속됨 Attribute)
GetType()

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
IsDefaultAttribute()

파생 클래스에서 재정의된 경우 이 인스턴스 값이 파생 클래스에 대한 기본값인지 여부를 표시합니다.

(다음에서 상속됨 Attribute)
Match(Object)

파생 클래스에서 재정의된 경우 이 인스턴스가 지정된 개체와 같은지 여부를 나타내는 값을 반환합니다.

(다음에서 상속됨 Attribute)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)

명시적 인터페이스 구현

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

이름 집합을 해당하는 디스패치 식별자 집합에 매핑합니다.

(다음에서 상속됨 Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

인터페이스의 형식 정보를 가져오는 데 사용할 수 있는 개체의 형식 정보를 검색합니다.

(다음에서 상속됨 Attribute)
_Attribute.GetTypeInfoCount(UInt32)

개체에서 제공하는 형식 정보 인터페이스의 수를 검색합니다(0 또는 1).

(다음에서 상속됨 Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

개체에서 노출하는 메서드와 속성에 대한 액세스를 제공합니다.

(다음에서 상속됨 Attribute)

적용 대상

추가 정보