好的,这可能是一个简单的问题,但是自从我完成它以来已经很久了。
我有一个包含类的库(libA)。我想创建一个从libA继承和扩展类的新库(libB):
public class c1:libA.c1(){}
libA.c1中的一个方法返回另一个在libA中定义的类:
public c2 m1(){}
完成所有操作后,我想在将来的代码中使用libB,而没有为libA定义任何引用。但是,我似乎无法做到这一点,因为我必须在某处定义c2并简单地继承:
public c2:libAc2(){}
似乎没有这样做。
任何人都可以给我任何关于如何通过libB公开c2和“隐藏”libA到任何引用libB的程序的指针吗?
答案 0 :(得分:1)
如果您有这样的参考链......
Application - libB - libA
然后,您需要包含对libA的引用,否则它将无法构建您的应用程序。毕竟,libA是libB的依赖项。您将需要它来运行您的应用程序。
您可以在运行时进行一些奇特的类加载,手动加载程序集,但这不允许您根据它们编写代码,因此。所以,它在这里对你没有多大用处。 https://msdn.microsoft.com/en-us/library/system.reflection.assembly.loadfile%28v=vs.110%29.aspx
我最好的建议是将libA中的代码重构为libB,前提是您拥有libA的源代码。然后将要隐藏的程序组从程序集外部标记为内部。