c# - Resharper resalta el uso de nameof con "Argumento explícito pasado a parámetro con atributo de información del llamante"
c#-6.0 resharper-9.0 (2)
Me preguntaba si la advertencia anterior es algo de lo que debería preocuparme.
Cuando tiene CallerMemberName
atributo CallerMemberName
adjunto, no tiene que pasar un valor explícitamente, porque el atributo hará exactamente eso por usted. Encontrará el nombre de la persona que llama y lo usará, haciendo que su nameof
declaración sea redundante. Esto, por supuesto, suponiendo que llame a RaisePropertyChanged
desde la implementación de la propiedad real.
ReSharper marca estas llamadas como redundantes cuando se pasa explícitamente una cadena literal . Debería forzar la misma lógica con nameof
también.
Estoy usando la función nameof para obtener un nombre de propiedad como una cadena así:
public bool IsRunning => ...;
...
RaisePropertyChanged(nameof(IsRunning));
Resharper destaca esto con la advertencia:
Argumento explícito pasado a parámetro con atributo de información del llamante
El código funciona, me preguntaba si la advertencia anterior es algo de lo que debería preocuparme.
No mientras se llame a su código desde la propiedad IsRunning
(lo que hace que la advertencia sea válida. Especificar el nombre de la propiedad sería redundante en ese caso). No parece que estés haciendo eso.
La advertencia solo le dice que RaisePropertyChanged
tiene el CallerMemberNameAttribute
establecido en la propiedad, que debería. Es seguro ignorarlo.