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

标签 c# entity-framework

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

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

因此,有没有办法可以做到这一点:

class Foo
{
}

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

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

最佳答案

您不能在没有实例的情况下使用 .GetType(),因为 GetType 是一种方法。

您可以像这样从类型中获取名称:

typeof(Foo).Name

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

typeof(Foo).AssemblyQualifiedName

关于c# - 在 C# 中获取类的名称作为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/179700/

相关文章:

c# - 注入(inject)异常类

c# - 在 CheckBox 上设置 CheckState 不起作用

asp.net-mvc-3 - 将其转换为通用存储库模式

c# - Entity Framework 中的 HttpContext 数据缓存

c# - `There is already an open DataReader` 迭代查询结果时出错

java - rabbitmq,Java 客户端通过 SSL 工作,但 .NET 客户端不能

c# - 执行多个线程的最有效方法

c# - c#中自定义app.config生成配置系统初始化失败异常

asp.net-mvc - .NET Core Entity Framework 在作为实体访问时抛出无效的对象名称,但适用于 SQL

c# - 如何在一个foreach中显示两个表记录?