我正在查看Interop UserControl機制,它是「Interop Forms Toolkit」2.0版的一部分。 (這可以創建一個.Net UserControl,可以將其作爲COM對象發佈以用於VB6窗體。)Interop UserControl中的「Inherits <baseclass>」在哪裏?
我已經使用「VB6 Interop UserControl」模板開始了一個新項目,我看到的是類似的定義如下:
<ComClass(InteropUserControl.ClassId, InteropUserControl.InterfaceId,
InteropUserControl.EventsId)> _
Public Class InteropUserControl
+ VB6 Interop Code
'Please enter any new code here, below the Interop code
End Class
沒有任何「Inherits」語句。但是,如果我在類瀏覽器中看,我可以看到這個類(並不奇怪)從WinForms UserControl類繼承。怎麼可能是類聲明的「Inherits UserControl」部分在任何地方都不可見?
問題634559還顯示了一個沒有任何「繼承UserControl」語句的InteropUserControl類聲明。我必須從我的VB.Net知識中錯過一些簡單的東西。 (我在C#中完成了大部分.Net工作。)
任何幫助理解這一點,將不勝感激。
我讀了引用的文章,雖然該信息是有趣和相關到什麼我在做,沒有任何東西表明屬性可以改變屬性存在的類的基類。 我仍然想知道一個類定義如何能夠包含一個「繼承」子句,但系統仍然神祕地計算出基類。 – 2010-01-07 03:46:35
顯然有一些重寫正在某處添加一個繼承子句,即使它從不出現在源代碼中。文章表明,即使確切的行爲(添加'Implements'子句)與您的情況有所不同,這種對屬性做出響應的行爲並非前所未有的。 – 2010-01-07 05:02:06
「重寫」完全是*所有屬性所做的,因爲它們改變爲生成的代碼/ IL。 – RBarryYoung 2010-01-22 17:39:20