Este tema aún no ha recibido ninguna valoración - Valorar este tema

ProvidePropertyAttribute (Clase)

Actualización: noviembre 2007

Especifica el nombre de la propiedad que un implementador de la clase IExtenderProvider ofrece a otros componentes. Esta clase no puede heredarse

Espacio de nombres:  System.ComponentModel
Ensamblado:  System (en System.dll)
[AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple = true)]
public sealed class ProvidePropertyAttribute : Attribute
/** @attribute AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple = true) */
public final class ProvidePropertyAttribute extends Attribute
public final class ProvidePropertyAttribute extends Attribute

Al marcar una clase con este atributo, se ordena al generador de código que cree una propiedad extensora con el nombre elegido. La clase marcada debe implementar IExtenderProvider. Como resultado, otros componentes podrán utilizar la nueva propiedad en un contenedor.

Dentro de la clase marcada, se deben implementar los métodos Get<nombre> y Set<nombre>. Por ejemplo, si se marca una clase con [ProvideProperty("PropertyName")], se deben implementar los métodos GetPropertyName y SetPropertyName. Para especificar que la nueva propiedad sea una propiedad extensora, se debe implementar desde IExtenderProvider y un método CanExtend.

Para obtener más información, vea Información general sobre atributos y Extender metadatos mediante atributos.

El ejemplo siguiente marca MyClass con una clase ProvidePropertyAttribute que ordena al compilador que cree una propiedad llamada MyProperty desde los métodos GetMyProperty y SetMyProperty.

[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.
 }


public class MyClass implements IExtenderProvider
{
    protected CultureInfo ciMine = null;

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

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

    /*  When you inherit from IExtenderProvider, you must implement the 
     *   CanExtend method. 
     */
    public boolean CanExtend(Object target)
    {
        return target instanceof Control;
    } //CanExtend

    // Insert additional code here.

} //MyClass 


System.Object
  System.Attribute
    System.ComponentModel.ProvidePropertyAttribute
Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

Compatible con: 3.5, 3.0, 2.0, 1.1, 1.0
¿Te ha resultado útil?
(Caracteres restantes: 1500)

Adiciones de comunidad

AGREGAR
© 2013 Microsoft. Reservados todos los derechos.