ProvidePropertyAttribute ProvidePropertyAttribute ProvidePropertyAttribute ProvidePropertyAttribute Class

정의

IExtenderProvider의 구현자가 다른 구성 요소에 제공하는 속성의 이름을 지정합니다.Specifies the name of the property that an implementer of IExtenderProvider offers to other components. 이 클래스는 상속될 수 없습니다.This class cannot be inherited

public ref class ProvidePropertyAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=true)]
public sealed class ProvidePropertyAttribute : Attribute
type ProvidePropertyAttribute = class
    inherit Attribute
Public NotInheritable Class ProvidePropertyAttribute
Inherits Attribute
상속
ProvidePropertyAttributeProvidePropertyAttributeProvidePropertyAttributeProvidePropertyAttribute
특성

예제

다음 예제에서는 표시 MyClass 사용 하 여는 ProvidePropertyAttribute 라는 속성을 만들도록 컴파일러에 알리는 MyProperty 에서 GetMyPropertySetMyProperty 메서드.The following example marks MyClass with a ProvidePropertyAttribute that tells the compiler to create a property called MyProperty from the GetMyProperty and SetMyProperty methods.

[ProvideProperty("MyProperty",Control::typeid)]
public ref class MyClass: public IExtenderProvider
{
protected:
   CultureInfo^ ciMine;

public:
   // Provides the Get portion of MyProperty. 
   CultureInfo^ GetMyProperty( Control^ myControl )
   {
      // Insert code here.
      return ciMine;
   }

   // Provides the Set portion of MyProperty.
   void SetMyProperty( Control^ myControl, String^ value )
   {
      // Insert code here.
   }

   /* When you inherit from IExtenderProvider, you must implement the 
        * CanExtend method. */
   virtual bool CanExtend( Object^ target )
   {
      return dynamic_cast<Control^>(target) != nullptr;
   }
   // Insert additional code here.
};
[ProvideProperty("MyProperty", typeof(Control))]
public class MyClass : IExtenderProvider {
    protected CultureInfo ciMine = null;
    // Provides the Get portion of MyProperty. 
    public CultureInfo GetMyProperty(Control myControl) {
        // Insert code here.
        return ciMine;
    }
    
    // Provides the Set portion of MyProperty.
    public void SetMyProperty(Control myControl, string value) {
        // Insert code here.
    }
    
    /* When you inherit from IExtenderProvider, you must implement the 
     * CanExtend method. */
    public bool CanExtend(Object target) {
        return(target is Control);
    }
    
    // Insert additional code here.
 }
<ProvideProperty("MyProperty", GetType(Control))> _
Public Class SampleClass
    Implements IExtenderProvider
    Protected ciMine As CultureInfo = Nothing

    ' Provides the Get portion of MyProperty. 
    Public Function GetMyProperty(myControl As Control) As CultureInfo
        ' Insert code here.
        Return ciMine
    End Function 'GetMyProperty

    ' Provides the Set portion of MyProperty.
    Public Sub SetMyProperty(myControl As Control, value As String)
        ' Insert code here.
    End Sub 'SetMyProperty

    ' When you inherit from IExtenderProvider, you must implement the 
    ' CanExtend method. 
    Public Function CanExtend(target As [Object]) As Boolean Implements IExtenderProvider.CanExtend
        Return TypeOf target Is Control
    End Function 'CanExtend

    ' Insert additional code here.

End Class

설명

이 특성이 있는 클래스를 표시 하면 사용자가 제공한 이름을 사용 하 여 확장 속성을 만들려면 코드 생성기를 알려줍니다.When you mark a class with this attribute, you tell the code generator to create an extender property with the name you provide. 표시 된 클래스를 구현 해야 IExtenderProvider합니다.The marked class must implement IExtenderProvider. 결과적으로, 새 속성을 컨테이너에서 다른 구성 요소에서 사용할 수 있습니다.As a result, the new property can be used by other components in a container.

표시 된 클래스 내에서 구현 해야 합니다 Get <이름 > 및 Set <이름 > 메서드.Within the marked class, you must implement Get <name> and Set <name> methods. 예를 들어 [ProvideProperty("PropertyName")]를 사용 하 여 클래스를 표시 하는 경우 구현 해야 합니다 GetPropertyNameSetPropertyName 메서드.For example, if you mark a class with [ProvideProperty("PropertyName")], you must implement GetPropertyName and SetPropertyName methods. 새 속성에 확장 속성 된다는 것을 지정 하려면에서 구현 해야 합니다 IExtenderProvider를 구현 해야는 CanExtend 메서드.To specify that the new property will be an extender property, you must implement from IExtenderProvider, you must also implement a CanExtend method.

자세한 내용은 특성을 참조하세요.For more information, see Attributes.

생성자

ProvidePropertyAttribute(String, String) ProvidePropertyAttribute(String, String) ProvidePropertyAttribute(String, String) ProvidePropertyAttribute(String, String)

속성 이름과 해당 수신자의 형식을 사용하여 ProvidePropertyAttribute 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the ProvidePropertyAttribute class with the name of the property and the type of its receiver.

ProvidePropertyAttribute(String, Type) ProvidePropertyAttribute(String, Type) ProvidePropertyAttribute(String, Type) ProvidePropertyAttribute(String, Type)

속성의 이름과 해당 ProvidePropertyAttribute으로 Type 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the ProvidePropertyAttribute class with the name of the property and its Type.

속성

PropertyName PropertyName PropertyName PropertyName

이 클래스가 제공하는 속성의 이름을 가져옵니다.Gets the name of a property that this class provides.

ReceiverTypeName ReceiverTypeName ReceiverTypeName ReceiverTypeName

이 속성을 확장할 수 있는 데이터 형식의 이름을 가져옵니다.Gets the name of the data type this property can extend.

TypeId TypeId TypeId TypeId

이 특성에 대한 고유 식별자를 가져옵니다.Gets a unique identifier for this attribute.

메서드

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

주어진 개체의 값이 현재 ProvidePropertyAttribute와 같은지 여부를 반환합니다.Returns whether the value of the given object is equal to the current ProvidePropertyAttribute.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

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

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)

적용 대상