如何在不实例化对象或使用静态方法的情况下获取类的名称?

时间:2011-02-22 11:49:29

标签: c# .net asp.net vb.net

我讨厌在代码中看到用作字符串参数的类的名称,如“FileDownloader”,我想使用类似FileDownloader.Name()的东西,其中FileDownloader是类的名称。 /> 唯一的问题是我无法在不实例化对象或创建静态方法的情况下找到如何做到这一点......

有没有办法在.net中获取类名而不使用对象实例并且没有创建返回类名称的静态方法?

4 个答案:

答案 0 :(得分:13)

不确定

var name = typeof(FileDownloader).Name;

答案 1 :(得分:3)

使用typeof运算符:

typeof ( FileDownloader).Name

答案 2 :(得分:1)

尝试typeof(YourClass).name。这应该公开你的班级名称

答案 3 :(得分:0)

在VB.Net中:

Dim sf As StackFrame = New StackFrame()
Dim mb As MethodBase = sf.GetMethod()
Dim className = mb.DeclaringType.Name

你去吧。完全动态。只需要注意重构......如果你把它移到另一个类,类名将改变......:)