我有一个简单的程序:
class Program
{
static void Main(string[] args)
{
InA testing = GetA();
}
static InA GetA<InA>()
{
return new A();
}
}
public interface InA
{
void test();
}
public class A : InA
{
public void test()
{
throw new NotImplementedException();
}
}
为什么 GetA() 无法返回 A 的实例? A 实现接口(interface) InA。
最佳答案
在这种情况下,InA 被处理为 generic argument而不是作为接口(interface)名称。您应该以不同的方式声明 GetA 方法的通用参数,或者完全删除它。这应该有效:
static InA GetA()
{
return new A();
}
关于c# - 函数不能返回与返回类型具有相同接口(interface)的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40019562/