获取当前班级名称

时间:2016-08-08 21:31:26

标签: c# wpf

在Android中,如果我需要获取当前类的名称,我可以执行以下操作:

private final _TAG = DummyActivity.this.getClass().getSimpleName();

这将返回" DummyActivity"

我想在C#WPF应用程序代码隐藏中做同样的事情。我如何获得当前课程的名称?

this.GetType().Name; //this works only on instances of a class 

看起来唯一的选择就是用C#对它进行硬编码:

private const string _TAG = "DummyWindow";

6 个答案:

答案 0 :(得分:5)

您可以使用以下任一项:

1。)typeof(T).Name Vanilla .NET way

2。)nameof(T) (C#6 only)

答案 1 :(得分:3)

实例将完全是"当前",否则这个概念没有多大意义。如果您只想要一个已知类型的名称typeof(Class).Name

答案 2 :(得分:3)

你可以在C#中这样做:

private static string _TAG = MethodBase.GetCurrentMethod().DeclaringType.Name;

这将起作用,因为初始化此字段实际上发生在静态构造函数中。即,MethodBase.GetCurrentMethod()返回类的静态构造函数。

答案 3 :(得分:2)

尝试

typeof(DummyActivity).Name

答案 4 :(得分:1)

nameof(DummyActivity) == new DummyActivity().GetType().Name

答案 5 :(得分:0)

在C#6中完全相同的陈述:

private static readonly string _TAG = nameof(DummyActivity);