Tag: 组件

获取Type中使用的程序集路径

我需要一个方法,它接受一个Type并返回该类型中使用的所有程序集的路径。 我写了这个: public static IEnumerable GetReferencesAssembliesPaths(this Type type) { yield return type.Assembly.Location; foreach (AssemblyName assemblyName in type.Assembly.GetReferencedAssemblies()) { yield return Assembly.Load(assemblyName).Location; } } 通常这种方法可以胜任,但也有一些缺点: 我没有找到如何从类型本身获取引用的程序集/类型,所以我使用了type.Assembly.GetReferencedAssemblies()并获得了整个程序集的引用,而不仅仅是那些与类型相关的引用。 type.Assembly.GetReferencedAssemblies()返回AssemblyName,没有location / path / filepath属性。 要获取location属性,我首先使用Assembly.Load()然后使用location属性。 我不希望加载程序集获取它们的路径,因为它们没有必要使用,并且因为Assembly.Load()可能会因FileNotFoundException或BadImageFormatException而失败。

Assembly.CreateInstance和Activator.CreateInstance之间的区别?

这些电话有什么区别?

从未经授权的呼叫者处安全C#程序集

有没有办法将您的程序集保护到类/属性和类/方法级别,以防止从我们公司未签名的另一个程序集中使用/调用它们? 我想这样做没有强烈命名的任何要求(比如使用StrongNameIdentityPermission)并坚持如何签署程序集。 我真的不想使用InternalsVisibleTo属性,因为在不断变化的软件生态系统中无法维护。 例如: 情景一 Foo.dll由我的公司签名,Bar.dll根本没有签名。 Foo的A级酒吧有B级 A类有公共方法GetSomething()B类试图调用Foo.A.GetSomething()并被拒绝 被拒绝可能是一个例外,或者在某种程度上被忽略 情景二 Foo.dll由我公司签名,Moo.dll也由我公司签名。 Foo有A级Moo有C级 A类有公共方法GetSomething()C类试图调用Foo.A.GetSomething()并且不被拒绝

获取组件的父表单

我有一个非可视组件来管理其他视觉控件。 我需要引用组件正在运行的表单,但我不知道如何获取它。 我不确定添加一个构造函数与父指定为控件,因为我希望组件只是被放入设计器中工作。 另一个想法是让父母的财产作为控制,默认值为’我’ 任何建议都会很棒 编辑: 为了澄清,这是一个组件 ,而不是一个控件 ,请参见此处: ComponentModel.Component

WinForm UI组件层顺序

当我们在WinForms中添加任何UI或容器时,后面添加的组件来自早期添加的组件,我们可以说它位于更高层。 如何在添加组件后更改图层顺序或组件顺序?