这不会很容易解释清楚,但在这里不用...实现接口然后调用初始化()函数
我有一些在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#中工作?
你是怎么称呼它的? –
你能分享调用初始化函数的代码吗? –
不幸的是我没有访问调用代码。开发人员只是提供接口供我使用。如果你有某种想法,我可以将它传递给他们看。 –