我正在尝试使用SKYPE4COMLib.dll.
我已经过去引用了库(呵呵),现在我正在尝试创建一个skype实例:
Skype s=new SkypeClass();
我收到以下错误:
The type 'SKYPE4COMLib.SkypeClass' has no constructors defined
和
Interop type 'SKYPE4COMLib.SkypeClass' cannot be embedded. Use the applicable interface instead.
我见过的样本都在VB中,他们使用
Set oSkype = WScript.CreateObject("Skype4COM.Skype","Skype_")
我不知道如何翻译.
另外,我找到了following question,这似乎是相关的,但答案似乎不适用于c#.
如何在c#中创建Skype课程?
解决方法
很简单就是这样
Skype skype = new Skype();
尽管Skype在技术上是一个接口,但由于它是一个COM接口,你仍然可以调用它,这就是C#com互操作的方式.
告诉我的方法是转到Skype课程的“转到定义”选项卡,它应该是这样的.
[CoClass(typeof(SkypeClass))] [Guid("B1878BFE-53D3-402E-8C86-190B19AF70D5")] public interface Skype : ISkype,_ISkypeEvents_Event { }
那个CoClass(typeof(SkypeClass))可以让你在界面上调用new.