C#嵌套类和继承

时间:2013-05-10 04:45:59

标签: c# inheritance encapsulation nested-class access-modifiers

只需要一些嵌套类和继承的帮助..

namespace blah
{
    private abstract class InheritedSomething
    {
        public void doSomething() {};
    }

    class OtherClass : InheritedSomething
    {
        //Stuff

        class NestedClass : InheritedSomething
        {
            //Stuff
        }
    }
}

这是正确的做事方式吗? NestedClass在其父类已经继承此内容时继承InerhitedSomething似乎有点多余......但是当我从NestedClass中删除继承时,它要求我doSomething()静态方法。

所以我的问题是,哪种方式“正确” - OtherClassNestedClass继承InheritedSomething或仅OtherClass继承InheritedSomething和{{1}变成doSomething()

谢谢!

2 个答案:

答案 0 :(得分:0)

这种设计没有任何问题。

可以将方法设为静态的建议是一个完全独立的问题。请注意,可以并不意味着 。 (了解有关决定herehere)的更多信息。删除继承后,doSomething不再覆盖,这使得它有资格检查此建议。

答案 1 :(得分:0)

正确与否取决于你打算做什么。

内部类型具有对封闭类型成员的特权访问权限,但不是从它派生的。

您对这些课程的意图是什么?