В настоящее время у меня есть решение с несколькими проектами, которые в основном используют одни и те же классы. В результате мне показалось, что было бы неплохо добавить библиотеку классов, содержащую эти классы, в решение, а не повторять класс в каждом проекте.
Тем не менее, один мой проект требует нескольких дополнительных свойств для некоторых классов, специфичных для этого проекта и не будет использоваться где-либо еще. В результате я подумал, что мне следует использовать частичные классы для добавления этих свойств. Итак, я сделал что-то вроде этого:
В библиотеке классов:
namespace MyClassLibrary
{
public partial class Book
{
public string Title { get; set; }
public string AuthorLast { get; set; }
public string AuthorFirst { get; set; }
public string Publisher { get; set; }
public string Edition { get; set; }
public string ISBN10 { get; set; }
public string ISBN13 { get; set; }
}
}
В проекте (MyProject):
namespace MyClassLibrary
{
public partial class Book
{
public string AdditionalProperty { get; set; }
}
}
Я ссылался на MyClassLibrary в MyProject (приложение для формы C # windows), однако, когда я пытаюсь использовать этот класс в коде для формы, я получаю следующую ошибку:
класс MyClassLibrary.Book
Предупреждение: тип
MyClassLibrary.Book в C: ...
(Проект) 'конфликтует с импортированным
введите 'MyClassLibrary.Book' в 'C: ...
(DLL библиотеки классов) '. Используя тип
определено в «C: ... (проект)».
Есть идеи, что я делаю неправильно или весь мой подход плох, и я должен заниматься чем-то другим?