(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

DesignerSerializationVisibilityAttribute-Klasse

Gibt den Typ der Dauerhaftigkeit an, der bei der Serialisierung einer Eigenschaft für eine Komponente zur Entwurfszeit verwendet werden soll.

System.Object
  System.Attribute
    System.ComponentModel.DesignerSerializationVisibilityAttribute

Namespace:  System.ComponentModel
Assembly:  System (in System.dll)

[AttributeUsageAttribute(AttributeTargets.Method|AttributeTargets.Property|AttributeTargets.Field|AttributeTargets.Event)]
public sealed class DesignerSerializationVisibilityAttribute : Attribute

Der DesignerSerializationVisibilityAttribute-Typ macht die folgenden Member verfügbar.

  NameBeschreibung
Öffentliche MethodeDesignerSerializationVisibilityAttributeInitialisiert eine neue Instanz der DesignerSerializationVisibilityAttribute-Klasse unter Verwendung des angegebenen DesignerSerializationVisibility-Werts.
Zum Seitenanfang

  NameBeschreibung
Öffentliche EigenschaftTypeIdBei Implementierung in einer abgeleiteten Klasse wird ein eindeutiger Bezeichner für dieses Attribute abgerufen. (Von Attribute geerbt.)
Öffentliche EigenschaftVisibilityRuft einen Wert ab, der den grundlegenden Serialisierungsmodus angibt, den ein Serialisierungsprogramm verwenden soll, wenn bestimmt wird, ob und wie der Wert einer Eigenschaft beibehalten wird.
Zum Seitenanfang

  NameBeschreibung
Öffentliche MethodeEqualsGibt an, ob diese Instanz und ein angegebenes Objekt gleich sind. (Überschreibt Attribute.Equals(Object).)
Öffentliche MethodeGetHashCodeGibt den Hashcode für dieses Objekt zurück. (Überschreibt Attribute.GetHashCode().)
Öffentliche MethodeGetTypeRuft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Öffentliche MethodeIsDefaultAttributeRuft einen Wert ab, der angibt, ob der aktuelle Wert des Attributs dessen Standardwert ist. (Überschreibt Attribute.IsDefaultAttribute().)
Öffentliche MethodeMatchBeim Überschreiben in einer abgeleiteten Klasse wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem bestimmten Objekt entspricht. (Von Attribute geerbt.)
Öffentliche MethodeToStringGibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)
Zum Seitenanfang

  NameBeschreibung
Öffentliches FeldStatischer MemberContentGibt an, dass ein Serialisierungsprogramm nicht die Eigenschaft selbst, sondern den Inhalt der Eigenschaft serialisieren soll. Dieses Feld ist schreibgeschützt.
Öffentliches FeldStatischer MemberDefaultGibt den Standardwert Visible an, d. h. ein visueller Designer verwendet Standardregeln zum Generieren des Werts einer Eigenschaft. Dieses static-Feld ist schreibgeschützt.
Öffentliches FeldStatischer MemberHiddenGibt an, dass ein Serialisierungsprogramm den Wert der Eigenschaft nicht serialisieren soll. Dieses static-Feld ist schreibgeschützt.
Öffentliches FeldStatischer MemberVisibleGibt an, dass die Serialisierung des Werts der Eigenschaft durch ein Serialisierungsprogramm zugelassen werden soll. Dieses static-Feld ist schreibgeschützt.
Zum Seitenanfang

  NameBeschreibung
Explizite SchnittstellenimplementierungPrivate Methode_Attribute.GetIDsOfNamesOrdnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu. (Von Attribute geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode_Attribute.GetTypeInfoRuft die Typinformationen für ein Objekt ab, mit deren Hilfe die Typinformationen für eine Schnittstelle abgerufen werden können. (Von Attribute geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode_Attribute.GetTypeInfoCountRuft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1). (Von Attribute geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode_Attribute.InvokeStellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit. (Von Attribute geerbt.)
Zum Seitenanfang

Wenn der dauerhafte Zustand eines Entwurfsmodusdokuments in einem Serialisierungsprogramm beibehalten wird, wird der Initialisierungsmethode von Komponenten häufig Code hinzugefügt, um zur Entwurfszeit festgelegte Werte von Eigenschaften beizubehalten. Dies ist das Standardverfahren für die meisten Basistypen, wenn kein Attribut zur Vorgabe eines anderen Verhaltens festgelegt wurde.

Mit dem DesignerSerializationVisibilityAttribute können Sie angeben, ob der Wert einer Eigenschaft Visible ist und im Initialisierungscode beibehalten wird, oder ob er Hidden ist und nicht im Initialisierungscode beibehalten wird, oder ob er aus Content besteht, wobei Initialisierungscode für jede öffentliche, nicht ausgeblendete Eigenschaft des Objekts generiert wird, das der Eigenschaft zugeordnet ist.

Member ohne DesignerSerializationVisibilityAttribute werden wie Member mit einem DesignerSerializationVisibilityAttribute mit dem Wert Visible behandelt. Falls möglich, werden die Werte einer als Visible markierten Eigenschaft durch ein Serialisierungsprogramm für den Typ serialisiert. Verwenden Sie DesignerSerializerAttribute, um eine benutzerdefinierte Serialisierung für einen bestimmten Typ oder eine bestimmte Eigenschaft anzugeben.

Weitere Informationen finden Sie unter Erweitern von Metadaten mithilfe von Attributen.

Das folgende Codebeispiel veranschaulicht die Verwendung eines DesignerSerializationVisibilityAttribute, das auf Content festgelegt wurde. Es behält die Werte einer öffentlichen Eigenschaft eines Benutzersteuerelements bei, das zur Entwurfszeit konfiguriert werden kann. Um das Beispiel zu verwenden, kompilieren Sie zunächst folgenden Code in die Bibliothek eines Benutzersteuerelements. Fügen Sie anschließend einen Verweis auf die kompilierte DLL-Datei in einem neuen Windows-Anwendungsprojekt hinzu. Wenn Sie Visual Studio verwenden, wird das ContentSerializationExampleControl automatisch der Toolbox hinzugefügt.

Ziehen Sie das Steuerelement aus der Toolbox in ein Formular, und legen Sie die Eigenschaften des DimensionData-Objekts fest, das im Eigenschaftenfenster aufgelistet ist. Wenn Sie den Code für das Formular anzeigen, ist der InitializeComponent-Methode des übergeordneten Formulars bereits Code hinzugefügt. Dieser Code legt für die Werte der Eigenschaften des Steuerelements die Werte fest, die Sie im Entwurfsmodus festgelegt haben.


using System;
using System.Collections;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Drawing;
using System.Windows.Forms;

namespace DesignerSerializationVisibilityTest
{
    // The code for this user control declares a public property of type DimensionData with a DesignerSerializationVisibility 
    // attribute set to DesignerSerializationVisibility.Content, indicating that the properties of the object should be serialized.

    // The public, not hidden properties of the object that are set at design time will be persisted in the initialization code
    // for the class object. Content persistence will not work for structs without a custom TypeConverter.		

    public class ContentSerializationExampleControl : System.Windows.Forms.UserControl
    {
	private System.ComponentModel.Container components = null;				
	
	[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
	public DimensionData Dimensions
	{
	    get 
	    {
		return new DimensionData(this);
	    }		
	}

	public ContentSerializationExampleControl()
	{
    	    InitializeComponent();		
	}
		
	protected override void Dispose( bool disposing )
	{
	    if( disposing )
	    {
		if( components != null )
		    components.Dispose();
	    }
	    base.Dispose( disposing );
	}

	private void InitializeComponent()
	{
	    components = new System.ComponentModel.Container();
	}
    }

    [TypeConverterAttribute(typeof(System.ComponentModel.ExpandableObjectConverter))]
    // This attribute indicates that the public properties of this object should be listed in the property grid.
    public class DimensionData
    {		
	private Control owner;

	// This class reads and writes the Location and Size properties from the Control which it is initialized to.
	internal DimensionData(Control owner)
	{
    	    this.owner = owner;			
	}

	public Point Location
	{
	    get
	    {
		return owner.Location;
	    }
	    set
	    {
		owner.Location = value;
	    }
	}

	public Size FormSize
	{
	    get
    	    {
		return owner.Size;
	    }
	    set
	    {
		owner.Size = value;
	    }
	}
    }
}


.NET Framework

Unterstützt in: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

Es werden nicht alle Versionen sämtlicher Plattformen von .NET Framework unterstützt.. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Alle öffentlichen static (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft