Jar*_*red 65 c# entity-framework
有没有办法获取类名并将其转换为C#中的字符串?
作为实体框架的一部分,.Include方法在执行查询时接受以点分隔的字符串列表以加入.我有我想要加入的类模型,并且出于重构和未来代码维护的原因,我希望能够在引用这个类时具有编译时的安全性.
那么,有没有办法可以做到这一点:
class Foo
{
}
tblBar.Include ( Foo.GetType().ToString() );
Run Code Online (Sandbox Code Playgroud)
我不认为我可以在没有实例的情况下执行GetType().有任何想法吗?
Max*_*ing 101
.GetType()没有实例就不能使用,因为它GetType是一种方法.
您可以从类型中获取名称,如下所示:
typeof(Foo).Name
Run Code Online (Sandbox Code Playgroud)
正如Chris所指出的,如果您需要可以使用的程序集限定名称
typeof(Foo).AssemblyQualifiedName
Run Code Online (Sandbox Code Playgroud)
你也可以这样做:
Type CLASS = typeof(MyClass);
Run Code Online (Sandbox Code Playgroud)
然后你可以访问名称,命名空间等.
string CLASS_NAME = CLASS.Name;
string NAMESPACE = CLASS.Namespace;
Run Code Online (Sandbox Code Playgroud)