ProvidePropertyAttribute ProvidePropertyAttribute ProvidePropertyAttribute ProvidePropertyAttribute Class

Definizione

Viene specificato il nome della proprietà fornita da un implementatore di IExtenderProvider ad altri componenti.Specifies the name of the property that an implementer of IExtenderProvider offers to other components. Questa classe non può essere ereditata.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
Ereditarietà
ProvidePropertyAttributeProvidePropertyAttributeProvidePropertyAttributeProvidePropertyAttribute
Attributi

Esempi

Nell'esempio seguente viene MyClass contrassegnato con ProvidePropertyAttribute un oggetto che indica al compilatore di creare GetMyProperty una MyProperty proprietà chiamata dai SetMyProperty metodi e.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

    ' 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

Commenti

Quando si contrassegna una classe con questo attributo, si indica al generatore di codice di creare una proprietà Extender con il nome fornito.When you mark a class with this attribute, you tell the code generator to create an extender property with the name you provide. La classe contrassegnata deve IExtenderProviderimplementare.The marked class must implement IExtenderProvider. Di conseguenza, la nuova proprietà può essere usata da altri componenti in un contenitore.As a result, the new property can be used by other components in a container.

All'interno della classe contrassegnata è necessario Get implementare <i metodi Set Name > e <Name >.Within the marked class, you must implement Get <name> and Set <name> methods. Se ad esempio si contrassegna una classe con [ProvideProperty ("PropertyName")], è necessario implementare GetPropertyName i metodi e. SetPropertyNameFor example, if you mark a class with [ProvideProperty("PropertyName")], you must implement GetPropertyName and SetPropertyName methods. Per specificare che la nuova proprietà sarà una proprietà Extender, è necessario implementare da IExtenderProvider, è necessario implementare anche un CanExtend metodo.To specify that the new property will be an extender property, you must implement from IExtenderProvider, you must also implement a CanExtend method.

Per altre informazioni, vedere Attributi.For more information, see Attributes.

Costruttori

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

Consente di inizializzare una nuova istanza della classe ProvidePropertyAttribute con il nome della proprietà e il tipo del ricevente.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)

Consente di inizializzare una nuova istanza della classe ProvidePropertyAttribute con il nome della proprietà e il Type.Initializes a new instance of the ProvidePropertyAttribute class with the name of the property and its Type.

Proprietà

PropertyName PropertyName PropertyName PropertyName

Ottiene il nome di una proprietà fornita da questa classe.Gets the name of a property that this class provides.

ReceiverTypeName ReceiverTypeName ReceiverTypeName ReceiverTypeName

Ottiene il nome del tipo di dati che la proprietà può estendere.Gets the name of the data type this property can extend.

TypeId TypeId TypeId TypeId

Ottiene un identificatore univoco per questo attributo.Gets a unique identifier for this attribute.

Metodi

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

Specifica se il valore dell'oggetto specificato è uguale all'oggetto ProvidePropertyAttribute corrente.Returns whether the value of the given object is equal to the current ProvidePropertyAttribute.

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

Restituisce il codice hash per l'istanza.Returns the hash code for this instance.

GetType() GetType() GetType() GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

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

In caso di override in una classe derivata, indica se il valore di questa istanza è il valore predefinito per la classe derivata.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)

Quando è sottoposto a override in una classe derivata, restituisce un valore che indica se questa istanza equivale a un oggetto specificato.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()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

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

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Inherited from Object)

Implementazioni dell'interfaccia esplicita

_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)

Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch.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)

Recupera le informazioni sul tipo relative a un oggetto, che possono essere usate per ottenere informazioni sul tipo relative a un'interfaccia.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)

Recupera il numero delle interfacce di informazioni sul tipo fornite da un oggetto (0 o 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)

Fornisce l'accesso a proprietà e metodi esposti da un oggetto.Provides access to properties and methods exposed by an object.

(Inherited from Attribute)

Si applica a