从驱动 DLL 引用父方法调用

Reference parent method call from drived DLL

我有一个 DLL Core.dll,然后是一个 DLL DataLayer.dll。

Core.dll 引用了 DataLayer.dll

在 Datalayer.dll 中,我需要访问一些驻留在 Core.dll 中的信息。有什么方法可以调用驻留在 core.dll 中的方法吗?

基本上,在数据层中,我需要调用 Core.dll 中的一些共享属性,其中包含一些信息,例如当前登录的用户 ID 以及其他一些信息。

不确定是否可行,如果可行,请告诉我。

thanks

萨米尔

你不能这样做,因为 C# 编译器想知道编译程序集的顺序。任何依赖程序集都应在它依赖的程序集之后编译。

所以你需要打破身体依赖。 F.e。您可以在单独的程序集中放置一组 cyclic-referenced 类。

或者您可以将当前用户隐藏在 "build-in" .NET 界面 IPrincipal 中,然后你们两个程序集都将依赖于 .NET 核心,这并不是一种不好的做法。

理想情况下,您还应该删除逻辑依赖项。参见 f.e。 http://en.wikipedia.org/wiki/Dependency_inversion_principle.