【发布时间】:2011-08-26 09:09:16
【问题描述】:
从 UITypeEditor 加载的表单中,如何获取当前项目中的资源列表?
我尝试过使用 GetManifestResourceNames(),但它为我提供了用户控件创建的项目的资源列表,而不是我预计的资源列表 strong>使用用户控件。
我猜我需要能够获取根容器所在项目的程序集名称,以便创建正确的资源管理器?
【问题讨论】:
标签: c# properties stream embedded-resource
从 UITypeEditor 加载的表单中,如何获取当前项目中的资源列表?
我尝试过使用 GetManifestResourceNames(),但它为我提供了用户控件创建的项目的资源列表,而不是我预计的资源列表 strong>使用用户控件。
我猜我需要能够获取根容器所在项目的程序集名称,以便创建正确的资源管理器?
【问题讨论】:
标签: c# properties stream embedded-resource
如果要获取给定实例的类所属的程序集,请尝试以下操作
Assembly a = Assembly.GetAssembly(instance.GetType());
如果您知道类型,只需执行此操作
Assembly a = Assembly.GetAssembly(typeof(MyUserControl));
或者,您可以在用户控件中尝试此操作
Assembly a = Assembly.GetCallingAssembly();
最后一个示例将返回调用当前执行方法的方法的程序集。也许您可以将程序集引用作为成员变量存储在 UserControl 中,并在 UserControl 的构造函数中分配它。这将为您提供对实例化 UserControl 的程序集的引用
【讨论】: