簡體   English   中英

COM對象的調用方法

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM