我试图了解C#中的嵌套类.我知道嵌套类是在另一个类中定义的类,我没有得到的是为什么我需要这样做.
在这个stackoverflow回答中,一位评论者提到" 私有嵌套类"可能非常有用,所以我在这篇文章中阅读它们,这些文章倾向于解释嵌套类在技术上如何起作用,但不是为什么要使用它们.
我想我会使用私有嵌套类来处理属于更大类的小助手类,但是我经常需要来自另一个类的辅助类,所以我只需要额外的努力来(1)使嵌套类非-nested或(2)将其公开,然后使用外部类前缀访问它,这两者似乎都是额外的工作,没有任何附加值,因为首先使用嵌套类.因此,一般来说,我真的没有看到嵌套类的用例,除了可能将类更加有条理地组成组,但我也违背了我已经享受的每个文件的一级清晰度.
您以何种方式使用嵌套类来使代码更易于管理,更易读,更高效?
从另一个类继承的类与作为其子类的类之间是否存在技术差异?以下代码中A和B之间的区别是什么:
一个)
public class foo {
...
private class bar {...}
}
Run Code Online (Sandbox Code Playgroud)
B)
public class foo { ...}
private class bar extends foo {...}
Run Code Online (Sandbox Code Playgroud) 对C#来说很新 - 我被指示创建一个子类来做基类的变体.从来没有做过子类,我读了一下,然后试了一下.我只能在继承基类后从子类访问MyClass的私有属性.我在这做了什么?这是一个真正的子类,还是某种嵌套继承的子类?
public class MyClass
{
private string connString;
// exec stored procedure 1
public class MySubClass : MyClass
{
otherClass o = new otherClass(connString);
// exec stored procedure 2
}
}
Run Code Online (Sandbox Code Playgroud)
无论我做了什么,它似乎都有效.另外,关于子类的主题,是否有一种常用的方法来命名它们?例如MyClass_SubClass,还是_MyClass等?
非常感谢!
编辑:再次感谢大家!我想我在这里寻找这个答案.无论如何,我意识到我误解了这个任务 - 根本不需要嵌套或继承!刚刚创建了一个单独的类.