第三天试着解决我的问题,但没有运气(( 下面是我的FunnyWorld3.cs文件。我注册了这个组件,这里没问题
[assembly: AssemblyKeyFile("Keys.snk")]
public interface IFunnyWorld3
{
void SayHello(String param);
};
[
ClassInterface(ClassInterfaceType.AutoDual)
]
public class FunnyWorld3 : IFunnyWorld3
{
public void SayHello(String param)
{
MessageBox.Show(param, "FunnyWorld::SayHello metnod was invoked");
}
};
然后我创建了c#项目,代码为:
Type comType = Type.GetTypeFromProgID("FunnyWorld3", true);
object comObj = Activator.CreateInstance(comType)
下一步是什么?如何在我的项目中调用SayHello方法?请帮忙((
答案 0 :(得分:1)
要调用该方法,您需要将其转换为定义方法的IFunnyWorld3
类型。
IFunnyWorld3 fw = (IFunnyWorld3)comObj;
fw.SayHello("message");
答案 1 :(得分:0)
铸造怎么样?如果您获得了对object
的引用,那么您应该能够投射它:
IFunnyWorld3 fw3 = (IFunnyWorld3) comObj;
然后调用你的方法。像
fw3.SayHello("Hello, World");