C# 来自外部类c的隐式类型#

C# 来自外部类c的隐式类型#,c#,generics,types,C#,Generics,Types,如何使所需的代码在下面工作: 类程序{ 静态void Main(字符串[]参数){ 列表字符串=新列表(); List ints=新列表(); 列表字符=新列表(); 结果=新结果(); Type resultingType=results.resultingType; if(resultingType==typeof(string)){ strings=results.strings; } if(resultingType==typeof(int)){ ints=results.ints; }

如何使所需的代码在下面工作:

类程序{
静态void Main(字符串[]参数){
列表字符串=新列表();
List ints=新列表();
列表字符=新列表();
结果=新结果();
Type resultingType=results.resultingType;
if(resultingType==typeof(string)){
strings=results.strings;
}
if(resultingType==typeof(int)){
ints=results.ints;
}
if(resultingType==typeof(char)){
chars=results.chars;
}
//渴望的
List resultingtypelist=results.ResultsList;//但不允许
}            
}
公开课成绩{
公共列表字符串=新列表(){“aaa”、“bbb”、“ccc”};
public List ints=new List(){1,2,3,};
public List chars=new List(){'a','b','c'};
公共类型结果类型{
获取{return typeof(int);}//硬编码演示
}
//所需--列表的可访问性设置为“专用”
公共列表结果列表{
得到{
if(ResultingType==typeof(string)){
返回字符串;
}
if(ResultingType==typeof(int)){
return int;//硬编码的演示
}
if(ResultingType==typeof(char)){
返回字符;
}
}
}
}

产生的错误是“'TestTyping.Results.ResultingType'是一个'property',但像'type'一样使用”

如果我理解您的意图,您将无法在编译时知道
ResultsList
的数据类型,因此不可能使用泛型。您必须执行以下操作:

public IList ResultsList 
{
    get 
    {
        if (ResultingType == typeof(string)) 
        {
            return strings;
        }
        if (ResultingType == typeof(int)) 
        {
            return ints; //hardcoded demo 
        }
        if (ResultingType == typeof(char)) 
        {
            return chars;
        }

        // not one of the above types
        return null;
    }
}