Aquí es una solución más robusta utilizando Visual Studio sin herramientas de 3 ª parte:
1. Para todos excepto Incremento Post/Pre-fix y Shift misiones:
(^|[^\w.])MyVariable\s*([\+\-\*/%&|\^]|)=[\w\s]
2. Para las asignaciones de incrementos y cambios post/prerreglo:
((^|[^\w.])MyVariable\s*(\+\+|--)|(\+\+|--)\s*MyVariable[^\w.]|(^|[^\w.])MyVariable\s*(<<|>>)=)
3. Para parámetros OUT/Ref (N/A para Propiedades):
(^|[^\w.])(out|ref)\s+MyVariable[^\w.]
salvedades:
- C# solamente .NET.
- Visual Studio 2012+ solamente.
- No funciona si a "=" le sigue un EOL.
- No funciona si a "MyVariable" le sigue un EOL.
- Según el punto de inicio y el alcance de la búsqueda y el alcance de la variable/propiedad, puede encontrar más/menos referencias de las necesarias. En caso de duda, error en el lado de "más", por lo que no se perderá nada.
- No funciona para "." - Variables/Propiedades prefijadas. 6.1. A menos que lo incluya como parte de "MyVariable" (es decir, "MyStructVariable.MyStructField" o "MyObjectVariable.MyObjectField"), pero corre el riesgo de encontrar muy pocas referencias, ya que puede haber otras variables Struct o Object utilizadas para realizar asignaciones al mismo Struct o Campo o propiedad del objeto.
¿Qué quiere decir con 'variable'? Más específicamente, ¿está incluyendo campos y propiedades, o se refiere específicamente a variables de método local? –
@dotnetdev: sugiero: a) eliminar el "o haber recibido" de su pregunta ob) cambiarlo para decir "establecer solo o obtener solo" frente a "establecer o obtener". Como es, tu pregunta (de acuerdo con las reglas de gramática de programación y de inglés) significa que no te importa si también se encuentran las referencias de lectura * además de las referencias de escritura (en cuyo caso puedes usar la función de Buscar todas las referencias de VS) . Estoy bastante seguro de que estás buscando una forma de encontrar referencias de escritura * solo *. – Tom