我对c#中的部分类有疑问
在这张图片中,我有一个域模型。我已将此参数(DomainModelLib)添加到客户端应用程序和repoistory应用程序。
存储库应用程序将此域模型类用作“DbSet”并从数据库获取数据。如您所见,在模型分部类中创建了实现。
我引用了Model to Client应用程序。我希望Product类的第一部分(第一个红框)可以在Client应用程序中访问但是类的第二部分(底部红框)无法访问。
但是在存储库中应该可以访问两个部分。这可能吗?
(NHibernate XML映射保持与用户的关系,我在实体框架中以这种方式保留用户的某些东西)
答案 0 :(得分:0)
可访问性不以任何方式定义,哪个源文件对分部类有贡献。
我完全按照说明这样做的唯一方法是在底部红框internal
中声明成员,并使用[InternalsVisibleTo]
允许EFRepository项目访问DomainModelLib中的内部成员
你可能想要考虑替代方案......如果不确切地知道你想要实现什么,很难提出好的选择,但是给两个不同的“外部”库提供不同的可访问性从根本上说是棘手的。
答案 1 :(得分:0)
可以创建一个新的库(比如X)。将底部红框移动到那里。从域和回购中引用X.