我正在試圖製作一個泛型類,需要3種類型,一個簡單字符串,IList<string>
或IList<OntologyStore>
。如何創建需要3種類型的泛型類
public class OntologyStore
{
}
public sealed class jim<T> where T:new()
{
string J;
IList<string> X = null;
IList<OntologyStore> X1 = null;
public jim()
{
if (typeof(T) == typeof(String))
{
J = string.Empty;
}
if (typeof(T) == typeof(OntologyStore))
{
X1 = new List<OntologyStore>();
}
if (typeof(T)==typeof(IList))
{
X = new List<string>();
}
}
}
我可以輕鬆地創建,你預期的那樣工作,
jim<OntologyStore> x1=new jim<jim<OntologyStore>()
你所期望的,但是當我把在
jim<string> x2=new jim<string>()
編譯器報告的字符串是不可abtract類型,這是你所期望的。
是否有可能創建一個泛型類,它可以實例化爲一個持有字符串的類,或者一個IList<string>
或IList<OntologyStore>
?
你真的設法混淆了我!你想解決什麼問題? – flq 2010-05-12 20:37:20
如果您將類命名爲專有名稱以外的名稱,它可以更容易地回答您的問題。它引起混淆,指的是名爲'jim'或'bob'的類。 – LBushkin 2010-05-12 20:40:33
忽略我的帖子,你在我寫答案的時候更新了這個問題。 我不確定我是否明白你實際上想要用這堂課做什麼。對於它的目的我有點困惑。 – Toby 2010-05-12 20:40:48