c# 公开由程序集包装的程序集中可用的类
我正在创建一个包装类(例如程序集 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以在程序集 D 中扩展类 Y,“无需”进行任何更改:
然后您只需向用户公开程序集 D,因为他们可以通过
Yex
访问Y
。You could extend class Y in assembly D 'without' any changes:
Then you only need to expose assembly D to the users because they can access
Y
perYex
.