Можно ли получить эквивалент "адреса памяти" объекта.net?
Мы внедряем пользовательский инструмент сериализации в наш проект и сталкиваемся с необходимостью однозначно идентифицировать каждый объект по типу примитивного значения, который можно использовать как синоним его "идентичности". Значение не должно иметь никакого значения или организации, только то, что оно уникально и постоянно, по крайней мере, на время процедуры сериализации. В идеале.net внутренне поддерживал бы уникальный и постоянный идентификатор объекта, который мы могли бы сохранить в качестве идентификатора объекта. Я знаю, что у каждого объекта есть GetHashCode
метод, но мы не уверены в глобальной уникальности значения. Другим критерием доступа к такому идентификатору является то, что метод должен быть очень эффективным.
Я смотрел на GetHashCode
Сборщик мусора, собирающий идеи, пока не пришел к чему-то твердому.
1 ответ
Вы ищете ObjectIDGenerator
класс, который делает именно то, что вы пытаетесь сделать.