【发布时间】:2014-03-29 12:18:19
【问题描述】:
我有这样的课:
public class Item<T>
{
// some properties using T
}
一切正常,但是,我的 MVC 项目中有一些视图,我需要阅读类的名称。当我有一个没有泛型的类时,它可以工作文件,我只使用typeof(Model).Name 并很好地使用它。问题是,当我有一个具有通用 T 的类时,.Name 属性为 Type 类型时,返回如下内容:
Item`1
我想在不同的字符串中读取这两个名称,而无需解决删除`字符的问题。我想要这样:
对于这样的类型:
Item<Product>
我想得到这个:
string baseClass = "Item";
string genericClass = "Product";
我该怎么做?
【问题讨论】:
-
不,不重复,请
READ我的问题! READ READ READ \o/ 我希望它没有字符串的工作,如果没有办法,只是不 awnser :) -
如果有多个通用参数,您希望
genericClass看起来像什么,例如Foo<string,int>? -
class Item与class Item<T>不同。所以string baseClass = "Item";是不准确的,如果你坚持删除细节,你将不得不“使用字符串”。 -
你能把你想要的
Foo<Bar<int>>也包括进来吗? -
抱歉,现在“编写代码”是否被认为是一种解决方法?我们在这里不是在谈论错误。
标签: c# generics reflection