我在下面附带的代码示例中遇到了问题。 我想要一个带接口的限制泛型类,因为我想使用由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?
}
}
}