通用在哪里,将对象转换为接口

时间:2017-07-19 09:56:01

标签: c# generics .net-core

我在下面附带的代码示例中遇到了问题。 我想要一个带接口的限制泛型类,因为我想使用由cless提供的特定方法来实现这个接口。在我看来这个代码应该可行,但编译器抛出错误CS1503(无法转换)。为什么?

namespace Generics
{
    public interface Ibar
    {
    }

    public class foo : Ibar
    {
    }

    public class Demo<T> where T : Ibar
    {
    }

    public class testClass
    {
        public void makeSth(Demo<Ibar> ss)
        {

        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");

            Demo<foo> test = new Demo<foo>();

            testClass testclass = new testClass();

            testclass.makeSth(test); //what?
        }
    }
}

0 个答案:

没有答案