2016-08-15 4 views
-1

Ist es möglich, einen Konstruktor in einer Struktur zu haben, die nur einmal pro Objekt aufgerufen wird? Zum Beispiel möchte ich Code, der sich ähnlich verhält:Struct Constructor nur einmal pro Objekt aufgerufen

Ist das in C# möglich? Wenn nicht, gibt es eine Möglichkeit, dieses Verhalten nachzuahmen?

Ich habe versucht, ein statisches Wörterbuch von this zu halten und zu testen, ob eine neue this existiert, aber das hat nicht funktioniert. Noch wird ObjectIDGenerator, beim Testen this 's.

+0

'mystruct x = 5;' Ist das überhaupt möglich? – user3185569

+0

Ähnlich wie 'mystruct z; 'ruft der Standardkonstruktor auf, wenn er existiert (einmal). 'mystruct z = 5' ruft den' overloaded operator = '(kein Konstruktor) auf, der von Ihnen implementiert werden soll. –

+0

Wovon redest du? Der Konstruktor wird immer nur einmal für eine bestimmte Instanz eines Objekts aufgerufen. Ohne eine gute [mcve] ist es unmöglich zu verstehen, was der Code, den du zeigst, sogar tut, aber angenommen, du hast eine implizite Umwandlung, die es dir erlaubt, ein 'int'-Literal einer Variablen vom Typ 'mystruct' zuzuweisen jedes Mal, wenn Sie einen neuen Wert des Typs erstellen. Was willst du hier eigentlich erreichen? –

Antwort

Verwandte Themen