Se eu tiver uma classe chamada MyProgram
, existe uma maneira de recuperar " MyProgram " como uma string?
c#
reflection
deltanovember
fonte
fonte
nameof
operador.Eu queria vomitar isso por uma boa medida. Eu acho que a maneira como @micahtan postou é preferida.
fonte
nameof(MyProgram)
.Com o C # 6.0, você pode usar o
nameof
operador:fonte
Embora a resposta do micahtan seja boa, ela não funcionará em um método estático. Se você deseja recuperar o nome do tipo atual, este deve funcionar em qualquer lugar:
fonte
Para referência, se você tem um tipo que herda de outro, também pode usar
fonte
Se você precisar disso em classes derivadas, poderá colocar esse código na classe base:
Em seguida, você pode alcançar o nome na classe derivada. Retorna o nome da classe derivada. Obviamente, ao usar a nova palavra-chave "nameof", não será necessário que essa variedade atue.
Além disso, você pode definir isso:
E então use assim:
fonte
Usa isto
Digamos que o Application Test.exe esteja em execução e a função foo () no form1 [basicamente seja a classe form1 ], o código acima gerará uma resposta abaixo.
Isso retornará.
para o nome da função:
retornará
Observe se você deseja usar isso em exceção, use:
fonte
[Nullable(2)]
para que você receba um aviso quando a verificação nula estiver ativa.this
pode ser omitida. Tudo o que você precisa para obter o nome da classe atual é:fonte
Obter nome da classe atual de Asp.net
fonte
[Nullable(2)]
para que você receba um aviso quando a verificação nula estiver ativa.