0
我有一些Devexpress控件。如何通過反射訪問屬性?
我想使用反射設置一些屬性。
讓我們來說說TextEdit。
通常情況下,設置文本框的邊框顏色,我會做:
TextEdit1.Properties.Appearance.BorderColor = whatever...
使用反射我想:
SetProperty(TextEdit1, "Properties.Appearance.BorderColor", RGB(200, 200, 200))
'Where SetProperty sub is
Private Sub SetProperty(ByVal Control As Object, ByVal PropertyName As String, ByVal Args As Object)
If Not IsNothing(Control.GetType.GetProperty(PropertyName)) Then
CallByName(Control, PropertyName, CallType.Set, Args)
End If
End Sub
此代碼不會因爲結果工作Control.GetType.GetProperty(PropertyName)始終爲空。
有誰知道如何訪問這種「複合」類型的屬性?
感謝
是,*咳嗽*,有點複雜多了。您首先必須爲Properties屬性執行Get操作,然後執行Get for the Appearance屬性,然後爲BorderColor屬性設置Set。所有人都希望編譯器能夠爲你做這件事。 –