내 함수에서는 문자열과 Type을 T로 전달해야합니다. T를 기반으로 문자열 val을 해당 유형으로 구문 분석하려고하지만 제목에서 오류가 발생합니다. 이 질문. 어떤 통찰력이나이 기능을 수행하는 다른 방법이있는 사람이라면 크게 감사하겠습니다.제약 조건은 'System.Object'특수 클래스가 될 수 없습니다.
T Parse<T>(string val) where T : System.Object
{
TypeCode code = Type.GetTypeCode(typeof(T));
switch (code)
{
case TypeCode.Boolean:
return System.Boolean.Parse(val);
break;
case TypeCode.Int32:
return Int32.Parse(val);
break;
case TypeCode.Double:
return Double.Parse(val);
break;
case TypeCode.String:
return (string)val;
break;
}
return null;
}
무엇 거기서하는 것은 남용 제네릭이 있습니다. 유형을 확인하려면 generics를 사용하는 이유는 무엇입니까? – Oded
가능한 복제본 [C# Generics : Constraining T 여기서 T : Object가 컴파일되지 않습니다. 오류 : 제약 조건을 'object'특수 클래스 수 없습니다.] (http://stackoverflow.com/questions/10644703/c-sharp-generics-constraining-t-where-t-object-doesnt-compile-error-constr) – nawfal