我讨厌在代码中看到用作字符串参数的类的名称,如“FileDownloader”,我想使用类似FileDownloader.Name()的东西,其中FileDownloader是类的名称。 /> 唯一的问题是我无法在不实例化对象或创建静态方法的情况下找到如何做到这一点......
有没有办法在.net中获取类名而不使用对象实例并且没有创建返回类名称的静态方法?
答案 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
你去吧。完全动态。只需要注意重构......如果你把它移到另一个类,类名将改变......:)