【发布时间】:2016-04-28 15:12:39
【问题描述】:
我有一个显示类属性的属性网格(我们称之为 MyClass)
我想在 MyClass 中有一个属性,它将包含所有实现接口的类(我们称之为 ISomething),并将在 PropertyGrid 中表示为下拉列表(当你有一个枚举时,行为相同)
接下来在列表中选择其中一个类时,将获取所选类的所有属性,并显示在propertygrid
中我做了一些阅读并找到了一些关于如何获取所有类列表并创建它的实例的部分解决方案,但不确定如何使用这些实例在属性网格中创建类列表。
var instances = from t in Assembly.GetExecutingAssembly().GetTypes()
where t.GetInterfaces().Contains(typeof(ISomething))
&& t.GetConstructor(Type.EmptyTypes) != null
select Activator.CreateInstance(t) as ISomething;
foreach (var instance in instances)
{
instance.Foo(); // where Foo is a method of ISomething
}
有什么建议吗?
【问题讨论】:
-
此代码与属性网格无关。属性网格区你尝试过什么?
-
我还没有在网格上实现,你说得对,这行不通
标签: c# class interface propertygrid