如果我有一个名为MyProgram的类,是否有一种方法检索“MyProgram”作为字符串?


当前回答

我还想把这个吐出来。我认为@micahtan的发帖方式更可取。

typeof(MyProgram).Name

其他回答

虽然micahtan的答案很好,但它在静态方法中不起作用。如果你想检索当前类型的名称,这个方法应该在任何地方都适用:

string className = MethodBase.GetCurrentMethod().DeclaringType.Name;

我还想把这个吐出来。我认为@micahtan的发帖方式更可取。

typeof(MyProgram).Name

作为参考,如果您有从另一个类型继承的类型,您也可以使用

this.GetType().BaseType.Name

这个可以省略。所有你需要得到当前类名的是:

GetType().Name

在c# 6.0中,你可以使用操作符的名称:

nameof(MyProgram)