visual studio 2008 - studio - ¿No se pueden establecer puntos de interrupción en un setter de propiedad automática? ¿Por qué?
la depuración de scripts de chrome en visual studio está habilitada (4)
No, no puedes establecer un punto de quiebre en ellos, pero ¿qué verificaría? La variable para el almacenamiento de la propiedad automática solo se asigna en tiempo de ejecución y, como tal, no hay una variable para que el depurador muestre / acceda.
Aparentemente VS 2008 no permite establecer un punto de interrupción solo en el establecimiento de una propiedad de auto.
Es decir, si defino una propiedad automática como esta:
public int CurrentFramesize
{
get;
protected set;
}
y luego intente establecer un punto de interrupción en la línea setter, toda la propiedad automática se vuelve roja como punto de interrupción.
Esto funciona bien para las propiedades normales, así que ¿alguna idea de por qué las auto-propiedades obtienen este tratamiento especial (restrictivo)? ¿Son algo más que azúcar sintáctico para las propiedades normales con un campo de respaldo oculto?
La respuesta corta es: esta característica de error terminó en el piso de la sala de corte para VS2008.
( Respuesta más larga - punta del sombrero @jdk)
Todo lo que tenemos es una vaga promesa de que se está considerando para vNext.
Usando Visual Studio 2008, 2010, 2012:
- Ir a la ventana Breakpoint
- Nuevo-> Break at Function ...
Para el get, escriba:
ClassName.get_CurrentFramesize()
Para el conjunto, escriba:
ClassName.set_CurrentFramesize(int)
Obtendrás un "Sin fuente disponible" cuando se alcance el punto de interrupción, pero obtendrás la ubicación de la llamada en la pila de llamadas.
Encontré esta solución aquí: http://social.msdn.microsoft.com/Forums/en/vsdebug/thread/b1dd0dc3-e9c1-402a-9c79-a5abf7f7286a
Ver también: depuración de propiedades automáticas
Esta característica se implementa en Visual Studio 2015