Si tengo una clase llamada MyProgram
, ¿hay alguna forma de recuperar " MyProgram " como una cadena?
c#
reflection
deltanovember
fuente
fuente
nameof
operador.Quería vomitar esto por si acaso. Creo que se prefiere la forma en que @micahtan publicó.
fuente
nameof(MyProgram)
.Con C # 6.0, puede usar el
nameof
operador:fuente
Aunque la respuesta de micahtan es buena, no funcionará en un método estático. Si desea recuperar el nombre del tipo actual, este debería funcionar en todas partes:
fuente
Como referencia, si tiene un tipo que hereda de otro, también puede usar
fuente
Si necesita esto en clases derivadas, puede poner ese código en la clase base:
Luego, puede alcanzar el nombre en la clase derivada. Devuelve el nombre de la clase derivada. Por supuesto, cuando se usa la nueva palabra clave "nameof", no habrá necesidad de que esta variedad actúe.
Además puedes definir esto:
Y luego use así:
fuente
Utilizar este
Digamos que Application Test.exe se está ejecutando y la función es foo () en form1 [básicamente es class form1 ], luego el código anterior generará la respuesta siguiente.
Esto volverá
para el nombre de la función:
volverá
Tenga en cuenta que si desea usar esto en excepción, use:
fuente
[Nullable(2)]
para que reciba una advertencia cuando la comprobación nula esté activa.this
puede ser omitido. Todo lo que necesita para obtener el nombre de clase actual es:fuente
Obtener el nombre de clase actual de Asp.net
fuente
[Nullable(2)]
para que reciba una advertencia cuando la comprobación nula esté activa.