[英]Use interface as generic type with new constraint
In C#, I've define an Interface like following:在 C# 中,我定义了一个接口,如下所示:
public interface IClassA
{
IEnumerable<T> Search<T>()
where T : new();
}
and和
public interface IClassB
{
...
}
If I do如果我做
public DoSomething(IClassA a)
{
// Error: IClassB must be a non-abstract type with a public parameterless constructor.
var result = a.Search<IClassB>();
}
How can I fix this so that I can pass IClassB as generic type in IClassA.Search ?我该如何解决这个问题,以便我可以在IClassA.Search 中将IClassB作为泛型类型传递? or this is impossible?或者这是不可能的?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.