Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

DesignerSerializationVisibilityAttribute-Klasse

 

Veröffentlicht: Oktober 2016

Gibt den Typ der Dauerhaftigkeit zu verwenden, wenn eine Eigenschaft für eine Komponente zur Entwurfszeit zu serialisieren.

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

System.Object
  System.Attribute
    System.ComponentModel.DesignerSerializationVisibilityAttribute

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

NameBeschreibung
System_CAPS_pubmethodDesignerSerializationVisibilityAttribute(DesignerSerializationVisibility)

Initialisiert eine neue Instanz der DesignerSerializationVisibilityAttribute-Klasse unter Verwendung des angegebenen DesignerSerializationVisibility-Werts.

NameBeschreibung
System_CAPS_pubpropertyTypeId

Ruft bei Implementierung in einer abgeleiteten Klasse einen eindeutigen Bezeichner für dieses Attribute ab.(Geerbt von „Attribute“.)

System_CAPS_pubpropertyVisibility

Ruft ein Wert, der den grundlegenden Serialisierungsmodus ein Serialisierungsprogramm, wenn verwenden soll bestimmt wird, ob und wie den Wert einer Eigenschaft beibehalten werden.

NameBeschreibung
System_CAPS_pubmethodEquals(Object)

Gibt an, ob diese Instanz und ein angegebenes Objekt gleich sind.(Überschreibt Attribute.Equals(Object).)

System_CAPS_pubmethodGetHashCode()

Gibt den Hashcode für dieses Objekt zurück.(Überschreibt Attribute.GetHashCode().)

System_CAPS_pubmethodGetType()

Ruft den Type der aktuellen Instanz ab.(Geerbt von „Object“.)

System_CAPS_pubmethodIsDefaultAttribute()

Ruft einen Wert, der angibt, ob der aktuelle Wert des Attributs der Standardwert für das Attribut ist.(Überschreibt Attribute.IsDefaultAttribute().)

System_CAPS_pubmethodMatch(Object)

Ruft beim Überschreiben in einer abgeleiteten Klasse gibt einen Wert, der angibt, ob diese Instanz gleich ein angegebenen Objekt ist.(Geerbt von „Attribute“.)

System_CAPS_pubmethodToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.(Geerbt von „Object“.)

NameBeschreibung
System_CAPS_pubfieldSystem_CAPS_staticContent

Gibt an, dass ein Serialisierungsprogramm den Inhalt der Eigenschaft, anstatt die Eigenschaft selbst serialisieren soll. Dieses Feld ist schreibgeschützt.

System_CAPS_pubfieldSystem_CAPS_staticDefault

Gibt an, der Standardwert ist Visible, d. h., ein visueller Designer verwendet Standardregeln zum Generieren des Werts einer Eigenschaft. Diese static Feld ist schreibgeschützt.

System_CAPS_pubfieldSystem_CAPS_staticHidden

Gibt an, dass ein Serialisierungsprogramm den Wert der Eigenschaft nicht serialisieren soll. Diese static Feld ist schreibgeschützt.

System_CAPS_pubfieldSystem_CAPS_staticVisible

Gibt an, dass ein Serialisierungsprogramm zugelassen werden soll, den Wert der Eigenschaft serialisiert. Diese static Feld ist schreibgeschützt.

NameBeschreibung
System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.(Geerbt von „Attribute“.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Ruft die Typinformationen für ein Objekt ab, mit deren Hilfe die Typinformationen für eine Schnittstelle abgerufen werden können.(Geerbt von „Attribute“.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).(Geerbt von „Attribute“.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit.(Geerbt von „Attribute“.)

Wenn ein Serialisierungsprogramm den permanenten Zustand der ein Dokument im Entwurfsmodus beibehalten wird, werden der Initialisierungsmethode von Komponenten zum Beibehalten von Werten von Eigenschaften, die zur Entwurfszeit festgelegt wurden häufig Code hinzugefügt. Dies geschieht in der Standardeinstellung für die meisten grundlegenden Typen, wenn kein Attribut für die anderen Verhaltens festgelegt wurde.

Mit der DesignerSerializationVisibilityAttribute, Sie können angeben, ob der Wert für eine Eigenschaft Visible, und im Initialisierungscode beibehalten Hidden, und nicht im Initialisierungscode beibehalten werden soll, oder besteht aus Content, müsste der Initialisierungscode generiert für jede öffentliche, nicht ausgeblendete Eigenschaft des Objekts, das der Eigenschaft zugewiesen.

Elemente, die keine DesignerSerializationVisibilityAttribute behandelt werden und wie eine DesignerSerializationVisibilityAttribute mit einem Wert von Visible. Die Werte einer Eigenschaft markiert als Visible serialisiert wird, wenn möglich, ein Serialisierungsprogramm für den Typ. Verwenden Sie zum Angeben benutzerdefinierter Serialisierung für einen bestimmten Typ oder eine Eigenschaft der DesignerSerializerAttribute.

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

Das folgende Codebeispiel veranschaulicht die Verwendung einer DesignerSerializationVisibilityAttribute festgelegt Content. Er behält die Werte einer öffentlichen Eigenschaft eines Benutzersteuerelements, die zur Entwurfszeit konfiguriert werden kann. Um das Beispiel zu verwenden, kompilieren Sie zunächst den folgenden Code in die Bibliothek eines Benutzersteuerelements. Fügen Sie einen Verweis auf die kompilierte DLL-Datei in ein neues Windows-Anwendungsprojekt. Bei Verwendung von Visual Studio, die ContentSerializationExampleControl wird automatisch hinzugefügt, die Toolbox.

Ziehen Sie das Steuerelement aus der Toolbox zu einem Formular und Festlegen der Eigenschaften der DimensionData Objekt im Fenster Eigenschaften aufgeführt. Wenn Sie den Code für das Formular anzeigen, Code hinzugefügt die InitializeComponent Methode des übergeordneten Formulars. Dieser Code legt die Werte der Eigenschaften des Steuerelements fest, denen, 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
Verfügbar seit 1.1

Alle öffentlichen statischen Member ( Shared in Visual Basic) dieses Typs sind threadsicher. Die Threadsicherheit für Instanzmember ist nicht garantiert.

Zurück zum Anfang
Anzeigen: