1
我有類Item的以下代碼。當我在VBA中使用此代碼時,可以輕鬆創建新實例並訪問屬性。但是當我嘗試從ListViewItem
繼承時,它的構建在C#中是正常的,但是在創建新實例時COM對象在VBA中中斷。C#中的繼承COM
//Working
[ComVisible(true)]
[ClassInterface(ClassInterfaceType.AutoDual)]
public class Item
{
public string Name { get; set; }
public string Text { get; set; }
}
//Fails
public class Item :ListViewItem
VBA
1: Dim x As CSActiveX.Item
2: Set x = New CSActiveX.Item
具有繼承這部分(2線)引發錯誤:Automation Error
。
任何指導,非常感謝。
我已將'Item'標記爲'ComVisible'並且'ListViewItem'類是隻讀的,因爲它從'System.Windows.Forms'繼承了 – cyboashu
是否有任何特殊原因是您從'System.Windows.Forms.ListViewItem '而不是有一個平坦的POCO? – Dai
平坦的POCO是什麼?無論如何,我從ListViewItem'''因爲我想從C#中的列表視圖控件返回一個實際的項目inherting。它是一個自定義的.net控件,通過COM在VBA中使用 – cyboashu