Опции для уникальной идентификации объектов во время выполнения?

Мне нужно прикрепить уникальный идентификатор к объектам во время выполнения. Идентификатор должен быть уникальным на время действия приложения. Я планирую сделать это, имея частную переменную-член в базовом классе моей объектной модели. Эта переменная будет установлена ​​при инициализации объекта, и значение останется постоянным в течение всего срока службы объекта. Ни один другой объект не может иметь такой же идентификатор на протяжении всего приложения.

Я, конечно, могу использовать System.Guid , но это стоит 128 бит памяти для каждого объекта, и я бы любят потреблять меньше ресурсов. Я попытался использовать Int32 и инициализировать его с помощью свойства System.Environment.TickCount , но у меня недостаточно разрешения, и некоторым объектам присвоено такое же значение.

Документация для TickCounter говорит, что свойство TickCount станет отрицательным через ~ 29 дней, а затем вернется к нулю еще через 29 дней. Я бы с радостью променял большее разрешение на более короткий ход со временем.

Есть ли у меня другие варианты, которых я не знаю? Не знаю?

5
задан Michael J 31 January 2011 в 17:54
поделиться