0

我已经定义了一个类文件,我将它用于两个目的(为了遵守 DRY 原则)。一些字段上有属性,程序A在运行时使用这些属性。程序B不知道这些,所以当我在项目中包含这些类时它拒绝编译。我可以看到两种解决此问题的方法,但不喜欢其中任何一种:

  1. 添加对程序 A 的 DLL 的引用 - 我不喜欢添加此依赖项只是为了避免编译错误的想法

  2. 添加一个预处理器指令并用#if、#else 语句包装每个指令。有很多,所以我也不太喜欢这种方法。

任何人都可以想到让我的项目忽略这些属性或以其他方式解决问题的更优雅的解决方案吗?

PS。程序 A 是一个在运行时使用类定义的程序,带有文件助手(http://filehelpers.sourceforge.net/),这就是为什么这种安排看起来有点不正统的原因。导入数据后,程序 B 将(如果我没有遇到任何阻碍!)首先使用 EF 代码对相同的数据进行建模。

4

1 回答 1

1

您还有另一种选择:将属性类(以及两个程序共享的任何其他类)放在单独的库中,并从程序 A 和程序 B 中引用它。

于 2011-09-20T09:26:03.540 回答