如何使用在我的应用程序中引用的类库引用的库中定义的类?

时间:2019-08-06 00:12:13

标签: c# .net .net-core c#-3.0

是否可以访问另一个库引用的库类,并且该类正在我的应用程序中使用?

简而言之->

Library A   | Library B            | App C
 - Class A  |  - Class B           |  - Class C
            |  - references lib A  |  - references lib B
            |                      |  ( Can I access class A here without explicitly 
            |                      |    referencing lib A since it is already referenced 
            |                      |    through lib B )

2 个答案:

答案 0 :(得分:0)

除非库B在外部提供了与references lib A的接口, 否则,无法通过库B访问库A。

如果库B是C#库并且references lib A是库B中的字段,那么您可以尝试使用反射。

答案 1 :(得分:0)

假设您正在使用NuGet,它将取决于软件包的创建方式和assemblies are referenced;

  

显式程序集引用允许将程序集的子集用于IntelliSense和编译,而所有程序集均可在运行时使用。

如果Library A的程序集被正确包装,则您的项目可能已经将其包含为引用,并且using语句就足以访问代码中的类。

在您的项目中包含对Library A的PackageReference将使其更加明确,并且由于它被声明为Library B的依赖项,因此它可能已经在packages目录中可用。但是,如果您随后更新软件包引用,则可能存在版本问题。