从UITypeEditor的,检索应用到属性的父属性在.NET中
-
21-09-2019 - |
题
这不是很简单的标题说,但我希望你能理解。
考虑这种情况:
Class MyClass
Property SubProp1
End Property
-TypeEditor(whatever)-
Property SubProp2
End Property
End Class
Class MyButton
Inherits Button
-MyCustomAttribute-
Property MC as MyClass
End Property
End Class
接着,我把myButton的实例为属性网格中,展开属性MC和编辑SubProp2。
这对于SubProp2类型编辑,我想获得施加到属性MC的属性的保持状态。
看上下文,PropertyDescriptor.ComponentType,我们到达类型:MyClass的。 如果我看一下属性应用到MyClass的,但是,它只会返回属性直接应用到MyClass的,而不是额外的属性应用到物业MC。
我挣扎找回MC这样我就可以读取属性在那里应用。 任何人任何想法?
ETA:
我已经回答它下面:
解决方案 2
其实,继我托马斯评论,这是可能有后期绑定。方法如下:
DirectCast(context, GridItem).Parent.PropertyDescriptor.Attributes.
瞧!
其他提示
如果我看的属性应用到MyClass的,但是,它只会返回的属性直接施加到MyClass的,而不是额外的属性应用到属性MC。
添加到MC
属性的属性不是“添加”到属性应用到MyClass
类...属性是静态的元数据,你会不会有MyClass
一个额外的属性,只是因为类型MyClass
的酒店有这属性。有两者之间没有关系。
有没有办法让MyClass的检索MC属性的特性,除非你直接从MyButton
类检索它们,通过反思:
Dim prop As PropertyInfo = GetType(MyButton).GetProperty("MC")
Dim attributes As Attribute() = Attribute.GetCustomAttributes(prop)
但是,你将不能够检索使用TypeDescriptor
那些属性,因为它只能给你的类型定义的属性,而不是在属性
不隶属于 StackOverflow