使用反射提取控件

发布于 2025-01-02 09:43:41 字数 183 浏览 1 评论 0原文

如果我有一个申请表,请输入 Form1,其中包含 DataGridView。因此程序集名称将为Test.exe。通过使用反射,如果我有程序集物理位置和表单名称 Form1 的输入,我可以提取 datagridview 吗?

If I have a application form say Form1 which has DataGridView. Therefore the assembly name would be Test.exe. By using Reflection, if I have inputs for physical location of assembly and Form name Form1, can I extract datagridview?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

远昼 2025-01-09 09:43:41

您需要使用 Assembly.LoadFrom 将程序集加载到 AppDomain 中,然后使用 Activator.CreateInstance 和 Form1 的完整限定名称创建 Form1 的实例。然后,您可以通过在表单实例上调用GetType()来获取Form1的类型信息,枚举所有字段并获取DataGridView类型的字段。使用 Form1 的实例和类型信息,您可以获得 DataGridView 的实例。

You need to load the assembly into the AppDomain using Assembly.LoadFrom and then create an instance of Form1, by using Activator.CreateInstance and the full qualified name of Form1. Then you can get the type information of Form1 by calling GetType() on the instance of the form, enumerate all fields and take the one that is of type DataGridView. Using the instance of Form1 and the type information you can get the instance of DataGridView.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文