[英]call method from COM object
第三天嘗試解決我的問題,但是沒有運氣((下面是我的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方法? 請幫忙((
要調用該方法,您需要將其轉換為定義該方法的IFunnyWorld3
類型。
IFunnyWorld3 fw = (IFunnyWorld3)comObj;
fw.SayHello("message");
鑄造怎么樣? 如果您獲得了對object
的引用,那么您應該可以將其強制轉換為:
IFunnyWorld3 fw3 = (IFunnyWorld3) comObj;
然后再調用您的方法。 喜歡
fw3.SayHello("Hello, World");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.