Ich muss den Objekten zur Laufzeit einen eindeutigen Bezeichner zuweisen. Der Bezeichner muss für die Dauer der Anwendung eindeutig sein. Ich plane, dies mit einer privaten Mitgliedsvariable in der Basisklasse meines Objektmodells zu tun. Diese Variable wird bei der Initialisierung des Objekts gesetzt, und der Wert bleibt für die gesamte Lebensdauer des Objekts konstant. Kein anderes Objekt kann für die Dauer der Anwendung denselben Bezeichner haben.
Ich kann natürlich auch eine System.Guid aber das kostet 128 Bit Speicherplatz für jedes Objekt und ich möchte weniger Ressourcen verbrauchen. Ich habe versucht, einen Int32 zu verwenden und ihn mit dem System.Environment.TickCount Eigenschaft, aber die Auflösung reicht nicht aus, und einigen Objekten wird schließlich derselbe Wert zugewiesen.
Die Dokumentation für den TickCounter besagt, dass die TickCount-Eigenschaft nach ~29 Tagen negativ wird und nach weiteren 29 Tagen wieder auf Null zurückgeht. Ich würde glücklich Handel mehr Auflösung für eine kürzere Rollover Zeit.
Habe ich noch andere Möglichkeiten, von denen ich nichts weiß?