如何在c#中创建skype类的实例?

Ars*_*ray 3 c# com skype skype4com

我正在努力利用SKYPE4COMLib.dll.

我已经过去引用了库(呵呵),现在我正在尝试创建一个skype实例:

Skype s=new SkypeClass();
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

The type 'SKYPE4COMLib.SkypeClass' has no constructors defined
Run Code Online (Sandbox Code Playgroud)

Interop type 'SKYPE4COMLib.SkypeClass' cannot be embedded. Use the applicable interface instead.    
Run Code Online (Sandbox Code Playgroud)

我见过的样本都在VB中,他们使用

Set oSkype = WScript.CreateObject("Skype4COM.Skype", "Skype_")
Run Code Online (Sandbox Code Playgroud)

我不知道如何翻译.

另外,我发现了以下问题,这似乎是相关的,但答案似乎并不适用于c#.

如何在c#中创建Skype课程?

Sco*_*ain 5

很简单就是这样

Skype skype = new Skype();
Run Code Online (Sandbox Code Playgroud)

即使Skype技术上是一个接口,你仍然可以调用new它,因为它是一个COM接口,这就是C#com互操作的方式.

告诉我的方法是转到Skype课程的"转到定义"选项卡,它应该是这样的.

[CoClass(typeof(SkypeClass))]
[Guid("B1878BFE-53D3-402E-8C86-190B19AF70D5")]
public interface Skype : ISkype, _ISkypeEvents_Event
{
}
Run Code Online (Sandbox Code Playgroud)

CoClass(typeof(SkypeClass))就是让你new在界面上调用的东西.