간단한 문자열, IList<string>
또는 IList<OntologyStore>
의 3 가지 타입을 취하는 제네릭 클래스를 만들려고합니다.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
클래스 이름을 고유 한 이름 이외의 이름으로 지정하면 쉽게 대답 할 수 있습니다. 'jim' 또는'bob'이라는 클래스를 참조하는 것은 혼란 스럽습니다. – LBushkin
내 게시물을 무시하고 내 대답을 쓰는 동안 질문을 업데이트했습니다. 본인이 실제로이 수업에서 무엇을하려하는지 이해하지 못했습니다. 나는 그 목적에 대해 약간 혼란 스럽다. – Toby