2012-04-11 14 views
6

Al depurar, a veces encuentro la necesidad de comparar referencias de objetos en la ventana de observación para ver si dos variables hacen referencia al mismo objeto.Cualquier forma de mostrar/comparar referencias de objetos en la ventana de observación?

Con C++ y punteros esto es fácil, pero ¿hay alguna forma de hacerlo con las referencias de C#?

+0

posible duplicado de [tipos de referencia de identificación única en el depurador] (http://stackoverflow.com/questions/4251450/uniquely-identifying-reference-reference-types-in-the-debugger) –

Respuesta

13

En realidad, hay una característica incorporada para comparar objetos en la ventana del reloj que no requiere que invoque ninguna función directamente. Está en el menú del botón derecho como "Hacer ID del objeto"

Make Object ID

que marcará el objeto con un ID, y luego se puede añadir un segundo objeto y se marca con un id también. Si esos objetos son la misma referencia, entonces tendrán la misma ID. Esto le permite ver si/cuando cambian mientras está depurando.

+0

Fantástico. Esto es mucho más fácil y más cercano a lo que quería. Gracias. – GazTheDestroyer

+1

La ID aparece en el extremo derecho de la columna Valor. Es posible que deba ampliar la columna Valor para verla. –

5
object.ReferenceEquals(objA, objB) 
+0

No se dio cuenta de que podía llamar funciones en la ventana de observación! ¡Gracias! – GazTheDestroyer

Cuestiones relacionadas