這不會很容易解釋清楚,但在這裏不用...實現接口然後調用初始化()函數
我有一些在VB中工作正常,但不是在C#。
我有2個類,每個類實現不同的接口。每個接口都暴露一個Initialize()函數,該函數在插件加載時應該自動調用。因爲每個類都有一個Initialize()函數,所以我可以在日誌中看到兩個函數被調用。這在VB中正常工作。
當我在C#中做同樣的事情時,只有第一個類中的Initialize()被調用。任何人都有線索,爲什麼這可能會發生?
VB代碼:
Public Class class1
Implements Interface1
Public Sub Initialize() Implements Interface1.Initialize
msgbox("initialize from class1")
End Sub
End Class
Public Class class2
Implements Interface2
Public Sub Initialize() Implements Interface2.Initialize
msgbox("initialize from class2")
End Sub
End Class
C#代碼:
public class class1 : interface1
{
public void Initialize()
{
messagebox.show("initialize from class1");
}
}
public class class2 : interface2
{
public void Initialize()
{
messagebox.show("initialize from class2");
}
}
正如你所看到的代碼是在兩種語言相同。爲什麼它在VB中而不是在C#中工作?
你是怎麼稱呼它的? –
你能分享調用初始化函數的代碼嗎? –
不幸的是我沒有訪問調用代碼。開發人員只是提供接口供我使用。如果你有某種想法,我可以將它傳遞給他們看。 –