Sé que hay unas cuantas herramientas de análisis estático para C# o .Net. Consulte esto question para obtener una buena lista de herramientas disponibles. He utilizado algunos de esos en el pasado y tienen una buena forma de detectar problemas.Herramienta de análisis estático para comprobar el bloqueo antes de acceder a la variable
Actualmente estoy buscando una forma de aplicar automáticamente algunas reglas de bloqueo que tenemos en nuestros equipos. Por ejemplo, me gustaría hacer cumplir las reglas siguientes:
"Cada método público que utiliza miembro de foo debe adquirir un bloqueo en barra" O "Cada llamada a foobar evento debe ser bloqueo exterior para bar "
Escribir reglas personalizadas de FxCop, si es feasible, parece bastante complejo. ¿Hay alguna forma más simple de hacerlo?
¿Cómo redactaría un contrato que prohíbe el acceso a un determinado archivo a menos que se realice un bloqueo? – svick
@svick: bloqueo no necesariamente significa que utiliza la instrucción 'lock'. Puede usar otros objetos tipo 'sync' para poder verificar si el objeto está señalizado/bloqueado/... lo que sea. – Tigran
OK, pero igual, ¿cómo se escribe un contrato de código que verifique cada acceso al campo? – svick