首页 > 解决方案 > 这个错误的原因是什么(继承类泛型)?

问题描述

错误截图 我正在创建一组泛型类,逐渐将泛型类型从T指定为example_of_stored_class

public class ModifiedList<example_of_stored_class> : AdvancedList<example_of_stored_class> 
{
    public void someMethod ()
    {
    }
}

public class AdvancedList<T> : List<T> where T : example_of_stored_class
{
    public AdvancedList ()
        {

        }
}
public class example_of_stored_class
{
    public string s = "Hi, i'm an example_of_stored_class!";
}

错误信息:

类型“example_of_stored_class”不能用作泛型类型或方法“AdvancedList”中的类型参数“T”。没有从“example_of_stored_class”到“R7_app .example_of_stored_class”的装箱转换或类型参数转换。

问题是 - 'example_of_stored_class' 和 'R7_app.example_of_stored_class' 有什么区别?为什么会发生?

标签: c#genericsinheritance

解决方案


就是这样:

public class ModifiedList : AdvancedList<example_of_stored_class>
{
    public void someMethod()
    {
    }
}

ModifiedList 声明中有错误。我不需要声明example_of_stored_class两次。谢谢,埃德普朗克特!


推荐阅读