我正在开发自己的 WinForms 设计器。它必须能够加载现有的自定义表单类型。我遇到的问题之一是没有默认 ctor 的表单:我的代码当前实例化了表单,然后才能将其加载到设计器中,这需要默认 ctor。
OTOH,VS2008 能够加载这样的表格。我相信它实际上并没有实例化我的表单(如本问题所述):即使是默认的ctors也不会被执行。它并没有真正执行 InitializeComponent()。我刚刚在该函数中添加了一个消息框,但它没有显示。
看起来它动态地模仿了自定义表单类型,并且只执行了 InitializeComponent 中它认为相关的部分代码。
有谁知道我在哪里可以找到有关 VS 设计器如何工作的更多信息。
TIA。
注意:我发现这个相关问题没有令人满意的答案
编辑:附加信息:史蒂夫将我指向 CodeDom,这非常有趣。不过,我的问题是我需要加载到我的设计器中的类型已经编译,而不是作为源代码提供。我找不到任何方法将 CodeDom 反序列化应用于已编译的代码。