В настоящее время у меня есть решение с несколькими проектами, которые в основном используют одни и те же классы. В результате мне показалось, что было бы неплохо добавить библиотеку классов, содержащую эти классы в решении, вместо того, чтобы повторять класс в каждом проекте.C# Partial Classes
Однако для одного проекта, который у меня есть, требуется несколько дополнительных свойств для некоторых классов, которые являются специфическими для этого проекта, и больше нигде не будут использоваться. В результате я подумал, что для добавления этих свойств я должен использовать частичные классы. Так что я сделал что-то вроде этого:
В библиотеке классов:
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 Form приложение), однако, когда я пытаюсь использовать этот класс в коде для формы, я получаю следующую ошибку:
class MyClassLibrary.Book
Warning: The type 'MyClassLibrary.Book' in 'C:... (Project)' conflicts with the imported type 'MyClassLibrary.Book' in 'C:... (Class Library DLL)'. Using the type defined in 'C:...(project)'.
Любая идея, что я делаю неправильно, или весь мой подход плох, и я должен делать что-то еще?
спасибо! я попробую это с производным классом ... все еще нова в этом! – Andrew
Ух ... нет, это называется «наследство»! –
@Steven отредактировал для ясности –