作爲一個背景位,我有一個使用VB.net作爲中間人的.net <-> COM object bridge,並且有很多反射來完成工作。使用CallByName設置Item(x)屬性
我碰到的地方,我需要使用CallByName一道坎()來設置它被定義爲
Public Default Property Item (
index As Integer
) As String
Get
Set
這通常被稱爲.Object(1) = "new value"
一個非常標準的屬性,但是橋碼此刻嘗試將Object(1)作爲對象,然後使用CallByName()調用Set(顯然不起作用)。
與其他集合我很高興能夠使用CallByName()方法調用.Clear()
和.Add("new value")
但該屬性沒有這些方法,此外,我想解決它的更通用的方法,以便代碼從橋的另一側可以直接撥打.Object
。
是否有人能夠建議一種方法來直接使用CallByName()來設置數組類型的屬性,或者可能會建議一個可以調用的替代反射函數來實現此目的?