假设:
namespace Program {
// Cannot inherit from inner class
public class Outer : Outer.Inner {
public class Inner { }
}
class Program {
public static void Main() {
Outer.Inner inner = new Outer();
}
}
}
为什么外部类不能实现内部类?我可以理解为什么这在Java中是非法的,因为内部类实际上依赖于在实例化内部类之前存在的外部实例。但是在C#中,除了范围(以及随之而来的规则)之外,内部类对外部类没有任何真正的依赖性。那么为什么这是非法的呢?是按照惯例,还是有一些逻辑?