0

如果我查看框架中的一些类,使用反射器,我可以看到表单和用户控件是私有的并嵌套在父类中。

例如,我有一个控件,它使用特定于该控件的弹出表单。目前,我使弹出式表单朋友可访问。如果我想以框架方式进行操作,我会将其设为私有并将其嵌套到控制类中。但是,如果这样做,我将无法再使用 ide 来设计表单,并且在尝试编译时会出错。所以,我有两个问题:

(1) 微软是否会在最后一刻将所有东西都嵌套为私有?

(2) 他们的方式是首选方式还是我应该坚持我的朋友访问者?

4

1 回答 1

1

嵌套形式更好,因为它强制执行正确的封装,并且意味着最终控件将最终以一个漂亮的整洁包进行分发。如果这些都不是您关心的问题,请继续按照您的方式行事。但是如果你想至少尝试嵌套类,你可以这样做:

  1. 像往常一样使用设计器在类之外构建嵌套表单。
  2. 添加第二个表单作为私有嵌套表单,就像在 CLR 示例中所做的那样,其名称与您在步骤 1 中构建的表单相同。
  3. 将您的第一个表单的代码 *.designer.vb*.designer.cs为您的第一个表单迁移到您的第二个表单的构造函数。它主要只是一个大的复制/粘贴。
  4. 从步骤 1 中删除表单。您可能希望通过将其移动到单独的类库项目来保留,以便在需要进行更改时使用。
于 2009-09-11T14:28:46.750 回答