c# 公开由程序集包装的程序集中可用的类

发布于 2024-11-26 00:10:21 字数 353 浏览 1 评论 0原文

我正在创建一个包装类(例如程序集 D),它扩展了被包装的一个公共类(例如类 X )(例如程序集 B)的实现。现在程序集 B(包装)中还有另一个类(例如 Y 类),我想向用户公开它。现在我有两个选项

将类 Y 包装在程序集 B 中并将其公开给用户。此选项的缺点是我必须重写程序集 B 中类 X 的确切实现。

我的问题是。是否有可能以某种方式在程序集 D 中创建一个按原样公开类 Y 的代理类。

将两个程序集公开给用户(我很乐意这样做),并以某种方式向程序集 B 中公开的用户隐藏类 X(因为我已经将类 X 包装在程序集 D 中)。请记住,我无法访问程序集 B 中的代码。

我的问题是。可以选择以某种方式向用户隐藏程序集的 X 类。

I am creating a wrapper class (say assembly D) that extends the implementation of one public class (say class X ) that is wrapped (say assembly B). Now there is another class (say class Y) in assembly B(wrapped) that I want to expose to the users. Now I have two options

Wrap class Y in assembly B and expose it to the users. The disadvantage of this option is that I will have to rewrite the exact implementation of class X in assembly B.

My question here is. Is it possible to somehow create a proxy class in assembly D that exposes class Y as it is.

Expose both assemblies to the users (and I am happy to do that) and somehow hide class X to users exposed in assembly B (because I have already wrapped class X in in assembly D). Remember I can't access code in assembly B.

My question here is. Is is possible to do option b. i.e somehow hide class X of assembly from users.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

冰雪梦之恋 2024-12-03 00:10:21

您可以在程序集 D 中扩展类 Y,“无需”进行任何更改:

public class Yex : Y { }

然后您只需向用户公开程序集 D,因为他们可以通过 Yex 访问 Y

You could extend class Y in assembly D 'without' any changes:

public class Yex : Y { }

Then you only need to expose assembly D to the users because they can access Y per Yex.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文