C# 在项目之间共享对象

use*_*597 3 .net c#

我有一个包含 2 个项目的解决方案...

项目 A 有以下 A - 参考第三方 DLL(其中有一个名为“Response”的类) B - 使用上述 DLL 并从名为“GetResponse”的方法返回“Response”对象的类

现在项目 B 像这样调用项目 A 中的类......

Response r = ProjectA.Class.GetResponse();
Run Code Online (Sandbox Code Playgroud)

这将返回一个错误,因为我的项目 B 中没有“第三方”引用。

我宁愿不将我的第三方 DLL 发送到我的所有其他项目,只是为了从第三方DLL获取对响应对象的引用。

那么有没有办法无需将第 3 方引用添加到项目 B 中呢?

Wil*_*ins 5

如果您的项目使用第三方 DLL 中定义的对象,则也必须直接引用它。

如果您想避免这种情况,您可以将该Response对象包装在项目 B 中定义的自定义对象中,创建方法和属性来公开该类所需的任何内容Response。请记住,您不能Response直接公开该类,否则将再次需要直接引用。

当然,即使使用包装,在部署最终的 DLL 时,仍然需要第三方 DLL,只是不需要直接引用它。