c#关于接口

Posted

技术标签:

【中文标题】c#关于接口【英文标题】:c# about interfaces 【发布时间】:2011-04-06 10:29:43 【问题描述】:

我有一个包含一些公共接口的库。在每个公共接口之前都有一个:[Guid:("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx")]。这是什么指南。它有什么作用?是否可以在不使用此 Guid 将 lib 添加到 ref 的情况下访问此库中的方法。或者我可以通过这个 Guid 使用另一个应用程序做什么?

【问题讨论】:

【参考方案1】:

当 .NET 程序集用作 COM 对象时使用此 GUID。如果不将 .NET 程序集引用为 .NET 程序集或 COM 对象,则无法使用此方法。这主要是为了与不知道如何使用 .NET 程序集的其他语言进行互操作。 COM 对象几乎可以被 Windows 上的任何技术/语言使用。

【讨论】:

.net 程序集是什么意思。我只想运行一个 exe 并基于这个 guid 来做一些事情。有可能吗? 每个使用 .NET 框架的 exe 或 dll 都称为 .NET 程序集。只需引用您在 exe 中看到这些 GUID 的 .NET 程序集,然后像使用任何其他 .NET 方法一样使用这些方法。 我明白了。如果我正在使用 process.start 执行一个 exe 文件,我如何根据这些 guid 从另一个应用程序与该 exe 进行通信?我的意思是,如果我想在 exe 中发布消息,我应该如何使用 GUID? elisa,请理解这是不可能的。这些 GUID 是 COM 世界中的标识符。它们标识一个方法或类,就像“System.Data.Oracle.EFOracleProviderFactory, System.Data.Oracle, Version=0.2.0.0, Culture=neutral, PublicKeyToken=388e67544b406623”标识 .NET 世界中的一个类一样。 要与您的 EXE 通信,EXE 需要支持它,例如通过使用共享管道、WCF、.NET Remoting、普通 TCP/IP 等支持进程间通信 (IPC)。

以上是关于c#关于接口的主要内容,如果未能解决你的问题,请参考以下文章

C#关于实现接口,方法重载的问题

C# 关于Web service + XML接口开发

编程 C# 关于GetAttributesOf (IShellFolder接口里的函数,懂编程的人不会不知道)

关于C# .net JavaScript跨域

C#编程,关于基类和派生类

关于C#1~3的学习总结