Property Initialisierung unterdrücken

MikeBi

Mitglied
Hallo,

weiß jemand eine Möglichkeit bei der ich die Initialisierung einer Property unterdrücken kann. Ich will nur die Set und Get Events der Property verwenden und den Rest selber händeln. Leider überschreibt mir die Initialisierung der Property meine Daten.

Mike
 
Wie genau meinst du das? Kannst du ein Codebeispiel machen und den Fehler bzw. das Unerwünschte da hervorheben?
 
Wenn du nur

C#:
public string Bla { get; set;}

hast siehts schlecht aus, du kannst aber auf


C#:
private string _Bla;

public string Bla { get { return _Bla; } set{ _Bla = value;}}

nutzen, dann bekommst du alles mit. Ansonsten sind deine Properties von Anfang an mit den Default Werten vorhanden.
 
Mir ist auch nicht ganz klar, was das Problem ist, aber ich vermute, dass du folgendes meinst:
Wenn du ein Control erstellt hast, welches Eigenschaften hat, dann initialisiert VS diese Eigenschaften unter umständen, sobald du das Control auf einer Form platzierst. Die Initialisierung wir dann in die Designer-Datei (als Quellcode) geschrieben. Das kannst du unterdrücken, in dem du deiner Eigenschaft ein oder zwei Attribute verpasst:
Code:
<System.ComponentModel.Browsable(False), System.ComponentModel.DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)> Public Property Test() As Object
    Get
        Return whatever
    End Get
    Set
        ' etwas tun
    End Set
End Property
Browsable gibt an, ob die Eigenschaft im PropertyGrid vom Designer angezeigt werden soll und mit DesignerSerializationVisibility kannst du festlegen, wie Initialisierungs-Code für die Eigenschaft erstellt werden soll (Hidden bedeutet, es wird kein Code erzeugt).
War das deine Frage? O.O
 
Vielen Dank,
genau so etwas habe ich gesucht. das
DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden) Attribute hat genau das gemacht was ich wollte.

Mike
 
Zurück