Esporta (0) Stampa
Espandi tutto

Classe DesignOnlyAttribute

Aggiornamento: novembre 2007

Specifica se una proprietà può essere impostata solo in fase di progettazione.>

Spazio dei nomi:  System.ComponentModel
Assembly:  System (in System.dll)

[AttributeUsageAttribute(AttributeTargets.All)]
public sealed class DesignOnlyAttribute : Attribute
/** @attribute AttributeUsageAttribute(AttributeTargets.All) */
public final class DesignOnlyAttribute extends Attribute
public final class DesignOnlyAttribute extends Attribute

I membri contrassegnati con l'attributo DesignOnlyAttribute impostato su true possono essere impostati solo in fase di progettazione. In genere, queste proprietà esistono solo in fase di progettazione e non corrispondono a una proprietà reale dell'oggetto in fase di esecuzione.

I membri che non dispongono di attributi o che sono contrassegnati con l'attributo DesignOnlyAttribute impostato su false possono essere impostati in fase di esecuzione. Il valore predefinito è false.

Il valore di una proprietà con l'oggetto DesignOnlyAttribute impostato su true è serializzato sul file resx al posto del metodo InitializeComponent.

Per ulteriori informazioni, vedere Cenni preliminari sugli attributi e Estensione di metadati mediante attributi.

Nell'esempio riportato di seguito viene creata una proprietà GetLanguage. La proprietà è contrassegnata con DesignOnlyAttribute.

[DesignOnly(true)]
 public CultureInfo GetLanguage {
    get {
       // Insert code here.
       return myCultureInfo;
    }
    set {
       // Insert code here.
    }
 }


/** @attribute DesignOnly(true)
 */
/** @property 
 */
public CultureInfo get_GetLanguage()
{
    // Insert code here.
    return myCultureInfo;
} //get_GetLanguage

/** @property 
 */
public void set_GetLanguage(CultureInfo value)
{
    // Insert code here.
} //set_GetLanguage


Nell'esempio riportato di seguito viene ottenuto il valore di DesignOnlyAttribute. Viene ottenuto dapprima un insieme PropertyDescriptorCollection con tutte le proprietà dell'oggetto, Quindi, viene effettuata l'indicizzazione in PropertyDescriptorCollection per trovare la proprietà GetLanguage. Infine, vengono restituiti gli attributi per questa proprietà, salvandoli nella variabile degli attributi.

A questo punto, nell'esempio viene visualizzato se la proprietà è relativa solo alla fase di progettazione recuperando DesignOnlyAttribute dal AttributeCollection, quindi scrivendolo nella finestra della console.

// Gets the attributes for the property.
 AttributeCollection attributes = 
    TypeDescriptor.GetProperties(this)["GetLanguage"].Attributes;

 /* Prints whether the property is marked as DesignOnly 
  * by retrieving the DesignOnlyAttribute from the AttributeCollection. */
 DesignOnlyAttribute myAttribute = 
    (DesignOnlyAttribute)attributes[typeof(DesignOnlyAttribute)];
 Console.WriteLine("This property is design only :" +
    myAttribute.IsDesignOnly.ToString());


        // Gets the attributes for the property.
        AttributeCollection attributes = TypeDescriptor.GetProperties(this).
            get_Item("GetLanguage").get_Attributes();

		/* Prints whether the property is marked as DesignOnly 
		 by retrieving the DesignOnlyAttribute from the AttributeCollection. */
        DesignOnlyAttribute myAttribute = (DesignOnlyAttribute)(attributes.
            get_Item(DesignOnlyAttribute.class.ToType()));

        Console.WriteLine("This property is design only :" 
            + System.Convert.ToString(myAttribute.get_IsDesignOnly()));


System.Object
  System.Attribute
    System.ComponentModel.DesignOnlyAttribute

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

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 e .NET Compact Framework non supportano tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

.NET Framework

Supportato in: 3.5, 3.0, 2.0, 1.1, 1.0

Aggiunte alla community

AGGIUNGI
Microsoft sta conducendo un sondaggio in linea per comprendere l'opinione degli utenti in merito al sito Web di MSDN. Se si sceglie di partecipare, quando si lascia il sito Web di MSDN verrà visualizzato il sondaggio in linea.

Si desidera partecipare?
Mostra:
© 2014 Microsoft