从驱动 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.
我有一个 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.