我有一个简单的程序:
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的实例?一个实现接口InA。
最佳答案
在这种情况下,InA将作为generic argument而不是作为接口名称来处理。您应该以不同的方式声明GetA方法的通用参数,或者将其完全删除。这应该工作:
static InA GetA()
{
return new A();
}
关于c# - 函数不能使用与返回类型相同的接口(interface)返回类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40019562/