public static T Get<T>() where T : class
{
string implName = Program.Settings[typeof(T).Name].ToString();
object concrete = Activator.CreateInstance(Type.GetType(implName));
return (T)concrete;
}
请解释一下Get()T的含义是什么?
欢迎使用一些阅读网址。
答案 0 :(得分:2)
这是一个通用的例子。 'T'代表一种类型。
例如:
string result = Get<string>();
对Generics进行Google搜索。这将帮助您入门:http://msdn.microsoft.com/en-us/library/ms379564(v=vs.80).aspx
答案 1 :(得分:2)
where T : class
限制了T
允许的类型。这将
因此,对于您的方法,如果您像Get<int>()
那样调用它,则会产生错误,因为int
不是类。
public static T Get<T>() where T : class
{
string implName = Program.Settings[typeof(T).Name].ToString();
var implType = Type.GetType(implName);
return (T)Activator.CreateInstance(implType);
}
答案 2 :(得分:1)
这将在这种特殊情况下将T约束为引用类型。