Meine Sprache ist C#.Wie kann ich wissen, dass das Objekt total wie obj1 = obj2 geändert wird?
obj1.Value = "test";
Wenn der Objektwert so geändert wird, ist es einfach zu handhaben. Ich kann den Ereigniscode in Name Property Set setzen.
Aber
Class obj1 = new Class("string1");
obj1 = new Class("string1");
Wenn das Objekt durch Zuordnung wie folgt geändert wird, Wie kann ich wissen, dass und es behandeln?
Ich möchte Name Länge begrenzen und es wird durch eine andere Eigenschaft "Länge" begrenzt.
Ich habe 3 Konstruktoren.
Class(string value);
Class(int length);
Class(int length, string value);
Und 2 Eigenschaften.
.Value
.Length
machte ich ähnliche diese
Class obj1 = new Class(3, "ab")
Mein Problem ist obj1.
obj1 = new Class("abcde")
I Wert Länge 3, aber die Länge der neuen Klasse („ABCDE“) begrenzen will, ist 5. (Es kann anderen Wert hat durch Codierung, aber in meinem Fall Länge 5)
Wie kann ich es lösen?
1- Sie sollten die Sprache angeben, die Sie verwenden. Zum Beispiel könnten Sie in C++ den Operator "=" überladen, um dies zu umgehen. Es ist jedoch wahrscheinlich in den meisten Sprachen nicht möglich, nach einer Referenzänderung zu suchen. 2- Was ist der Zweck davon? Was versuchst du wirklich damit? – Walfrat
@Walfrat 1. Entschuldigung, meine Sprache ist C#. Es scheint, dass "=" Überladen in C# nicht möglich ist. Recht? 2. Ich möchte die Länge der Namenseigenschaft auf 10 beschränken. – jeonggu
Sie müssen nicht wissen, ob sich das Objekt geändert hat, oder? überprüfen Sie einfach die Länge im Setter vielleicht? – n1ff