有人能给我解决以下代码难题的方法吗? 给出了一个解决方案,但可以是多个解决方案。
// this code compiles
IAnimal animal= new Dog();
animal.Eat();
// this code doesn't compile
Dog animal = new Dog();
animal.Eat();
类定义应该是什么样子,以便上面的代码块在不同的范围内编译(第一个)和不编译(第二个)?
最佳答案
您可以通过使用显式接口(interface)实现来实现:
class Dog : IAnimal {
void IAnimal.Eat(){
//do stuff
}
}
相对于隐式接口(interface)实现:
class Dog : IAnimal {
public void Eat(){
//do stuff
}
}
关于c# - 如何解决这个 c# 语法难题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35092638/