C# 如何检索类型T的名称?I';I’我总是得到;RuntimeType";

C# 如何检索类型T的名称?I';I’我总是得到;RuntimeType";,c#,generics,C#,Generics,如何检索用于初始化RuleViewModelBase的类型T的名称?现在我得到了“RuntimeType” 公共抽象类RuleViewModelBase:IRuleViewModel其中T:RuleEntity,new() { 公共布尔可编辑 { 设置 { _可编辑=值; if(条件!=null) { 条件.可编辑=值; } 如果(内容!=null) { Content.Editable=值; } } 得到 { 返回_可编辑; } } 私有布尔可编辑; 私有字符串_groupsJson; 私有列

如何检索用于初始化RuleViewModelBase的类型T的名称?现在我得到了“RuntimeType”

公共抽象类RuleViewModelBase:IRuleViewModel其中T:RuleEntity,new()
{
公共布尔可编辑
{
设置
{
_可编辑=值;
if(条件!=null)
{
条件.可编辑=值;
}
如果(内容!=null)
{
Content.Editable=值;
}
}
得到
{
返回_可编辑;
}
}
私有布尔可编辑;
私有字符串_groupsJson;
私有列表组;
公共字符串规则类型{get{
返回typeof(T).GetType().Name;}
}
公共规则ContentVM内容{set;get;}
公共规则条件VM条件{set;get;}
公共虚拟无效存储实体(T规则)
{
}
公共规则实体转换实体()
{
T规则=新的T();
规则=(T)this.Content.SaveToEntity(规则);
规则=(T)this.Condition.SaveToEntity(规则);
保存实体(规则);
返回规则;
}
}
我想您需要:

typeof(T).Name  
而不是:

typeof(T).GetType().Name
您的代码获取的类型名称对应于引用您的类的
type
实例。i、 e.实际上,您是在做
typeof(Type)
(或者更具体地说,
typeof(RuntimeType)
)并得到它的名称。

我想您需要:

typeof(T).Name  
而不是:

typeof(T).GetType().Name
您的代码获取的类型名称对应于引用您的类的
type
实例。i、 e.实际上,您正在执行
typeof(Type)
(或者更具体地说,
typeof(RuntimeType)
)并获取其名称。

typeof(T)
生成
T
的类型。调用上的
GetType
,给出
typeof
返回的值的类型。这显然不是您想要的。
typeof(T)
产生
T
的类型。调用上的
GetType
,给出
typeof
返回的值的类型。这显然不是你想要的=谢谢你的回答。