当前位置:  开发笔记 > 编程语言 > 正文

在C#中将类的名称作为字符串获取

如何解决《在C#中将类的名称作为字符串获取》经验,为你挑选了3个好方法。

有没有办法获取类名并将其转换为C#中的字符串?

作为实体框架的一部分,.Include方法在执行查询时接受以点分隔的字符串列表以加入.我有我想要加入的类模型,并且出于重构和未来代码维护的原因,我希望能够在引用这个类时具有编译时的安全性.

那么,有没有办法可以做到这一点:

class Foo
{
}

tblBar.Include ( Foo.GetType().ToString() );

我不认为我可以在没有实例的情况下执行GetType().有任何想法吗?



1> Max Schmelin..:

.GetType()没有实例就不能使用,因为它GetType是一种方法.

您可以从类型中获取名称,如下所示:

typeof(Foo).Name

正如Chris所指出的,如果您需要可以使用的程序集限定名称

typeof(Foo).AssemblyQualifiedName



2> Craig Stuntz..:

Include需要属性名称,而不是类名.因此,它是您想要的属性的名称,而不是其类型的名称. 你可以通过反思得到它.



3> Glade Mellor..:

你也可以这样做:

Type CLASS = typeof(MyClass);

然后你可以访问名称,命名空间等.

 string CLASS_NAME = CLASS.Name;
 string NAMESPACE = CLASS.Namespace;

推荐阅读
ERIK又
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有