1
我有以下代码模式:如何调用通过interop传递的对象的函数?
[VB6]
Dim objNetDllObject As New NetDllObject
objNetDllObject.PassVb6Form(MyForm)
objNetDllObject.ShowForm
[C#]
object Vb6Form;
private void PassVb6Form(object form) { Vb6Form = form; }
private void button1_Click(object sender, EventArgs e) { Vb6Form.Show(); }
的问题是,C#编译器不喜欢Vb6Form.Show()
语句,因为Show()
不是object
的功能,这是真的。我怎样才能编译这段代码?
类型转换?问题是VB讨厌绑定,因为这种类型是在运行时确定的,如果函数不存在,那么程序崩溃。如果你问我很愚蠢 –
你可以使用动态代替对象吗? '动态Vb6Form' –
@ColeJohnson:我认为我不会遇到运行时不存在的函数问题。我的问题是它甚至不会编译。 –