为什么某些组件/控件在子窗体中不会以可视方式继承,如果使用访问修饰符Friend vs使用Protected声明它们。
例如,我的父表单中有一个DataSet对象,最初是“朋友”(我将其拖放到表单中,因此它在设计器视图中显示为控件),但我注意到了我的子表单没有按预期继承控件。一旦我将其更改为“受保护”,它就会按照预期显示在我的“儿童”表单中。
我知道Protected允许子窗体修改继承的控件,但这究竟与我上面描述的问题有什么关系呢?
答案 0 :(得分:1)
它取决于声明基本形式的程序集。如果那是另一个程序集而不是派生表单所在的程序集,那么Friend就无法工作。声明为Friend的成员只能在同一个程序集中访问。
Protected是适当的访问修饰符。它确保在声明派生形式的程序集中无关紧要。并确保只有派生的表单类才能访问数据集。