Necesito adjuntar un identificador único a los objetos en tiempo de ejecución. El identificador debe ser único para la duración de la aplicación. Planeo hacer esto teniendo una variable miembro privada en la clase base de mi modelo de objetos. Esta variable se establecerá en la inicialización del objeto y el valor permanecerá constante durante la vida del objeto. Ningún otro objeto puede tener el mismo identificador para la duración de la aplicación.Opciones para identificar objetos de manera única en el tiempo de ejecución?
Puedo, por supuesto, usar un System.Guid, pero eso cuesta 128 bits de almacenamiento para cada objeto y me gustaría consumir menos recursos. Intenté usar un Int32 e inicializarlo con la propiedad System.Environment.TickCount, pero no obtuve la resolución suficiente y algunos objetos terminan teniendo el mismo valor asignado.
La documentación para el TickCounter dice que la propiedad TickCount pasará a ser negativa después de ~ 29 y luego volverá a cero en otros 29 días. Me encantaría intercambiar más resolución por una tirada más corta con el tiempo.
¿Tengo otras opciones que no conozco?
¿Qué recursos temes que usar GUID consumará en exceso? Esa afirmación suena un poco como una optimización prematura. Comenzaría con una solución que usa GUID y solo la reconsidere si encuentra cuellos de botella de rendimiento concretos. –
Estaba pensando en el problema. Gracias a todos por ponerme en camino. –