Игнорирование неверных / нерелевантных атрибутов полей в определениях классов C # - PullRequest
0 голосов
/ 20 сентября 2011

Я определил файл класса, и я использую его для двух целей (в попытке придерживаться принципа СУХОЙ).В некоторых полях есть Атрибуты, которые используются во время выполнения программой А. Программа Б не знает об этом, поэтому она отказывается компилироваться, когда я включаю эти классы в проект.Я вижу два метода обхода этого, но не люблю ни один из них:

  1. Добавить ссылку на DLL программы A - мне не нравится идея добавления этой зависимостипросто чтобы избежать ошибки компиляции

  2. Добавьте директиву препроцессора и оберните каждую из них выражениями #if, #else.Есть много, поэтому я тоже не очень люблю этот метод.

Любое более изящное решение, которое может придумать любой, - заставить мой проект игнорировать эти атрибуты или иным образом решить проблему?

PS.Программа A - это программа, использующая определение класса во время выполнения с файловыми помощниками (http://filehelpers.sourceforge.net/),, поэтому расположение кажется немного неортодоксальным. Как только это импортирует данные, программа B будет (если я не столкнусь с showtoppers!)Сначала код EF для моделирования по тем же данным.

1 Ответ

1 голос
/ 20 сентября 2011

У вас есть еще один вариант: поместить класс атрибута (и любой другой класс, общий для двух программ) в отдельную библиотеку и ссылаться на него как из программы A, так и из программы B.

...