Я пытаюсь реорганизовать решение, чтобы вывести на борт другой проект. У меня есть проект Core, где находятся общие классы по проектам.Как мне создать конкретный суперкласс
Я пытался simpify своего вопроса с помощью 2 воображаемых проектов: Праздники и погоды ...
У меня есть настройки процесса загрузки файла для проекта Holidays, который имеет следующие 2 класса:
public class Job
{
public virtual string CreatedBy { get; set; }
public virtual DateTime? CreatedDate { get; set; }
public virtual Security Security { get; set; }
protected IList<File> _files = new List<File>();
public virtual IEnumerable<File> Files
{
get { return _files; }
}
}
public class File
{
public virtual string FileName { get; set; }
public virtual FileType FileType { get; set; }
public virtual FileStatusType FileStatusType { get; set; }
public virtual Job Job { get; set; }
}
Процесс загрузки файлов для проекта Weather имеет ту же структуру, что и Праздники, за исключением того, что класс Jobs не имеет свойства безопасности.
Мой вопрос: возможно ли каким-то образом переместить оба класса в проект Core, чтобы оба проекта могли их использовать? Очевидно, что Погода не нуждается в свойстве безопасности, поэтому я думал, что у меня будет класс Core.Job без обеспечения безопасности, а затем увеличьте Core.Job в Holidays.Job.
Но как только я это делаю в классе Core.File, о чем Иов это относится? Поскольку он сидит в проекте Core, это должен быть Core.Job. Итак, тогда мне нужно, чтобы Job и File сидели в Holidays, а Weather (и любые другие будущие проекты) использовали Core.Job и Core.File?
Я не хочу, чтобы проект Core имел какие-либо ссылки на подпроекты.
Я использую NHibernate, и поэтому имеют файлы сопоставления - добавляя к сложности.
Надеется, что это достаточно ясно
Благодаря
Спасибо Тиграну. Но как бы выглядел класс File? Как и в моем примере кода выше, класс файла имеет свойство Job на нем. Итак, нужен ли мне файл HolidayFile, содержащий HolidayJob? –