Obecnie mam rozwiązanie z wieloma projektami, które najczęściej korzystają z tych samych klas. W rezultacie okazało się, że dobrym pomysłem byłoby dodanie do rozwiązania biblioteki klas zawierającej te klasy zamiast powtarzania klasy w każdym projekcie.C# Partial Classes
Jednak jeden projekt Mam kilka dodatkowych właściwości do niektórych klas, które są specyficzne dla tego projektu i nie będą używane nigdzie indziej. W rezultacie pomyślałem, że powinienem użyć klas częściowych, aby dodać te właściwości. Więc zrobiłem coś takiego:
W bibliotece klasy:
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; }
}
}
W ramach projektu (myproject):
namespace MyClassLibrary
{
public partial class Book
{
public string AdditionalProperty { get; set; }
}
}
mam odwoływać MyClassLibrary w MyProject (C# okna formularza aplikacji), jednak gdy spróbuję użyć tej klasy w kodzie dla formularza, otrzymuję następujący błąd:
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)'.
Każdy pomysł, co robię źle lub jeśli całe moje podejście jest złe i powinienem robić coś innego?
dzięki! Spróbuję tego z klasą pochodną ... wciąż nową! – Andrew
uh ... nie, to się nazywa "dziedziczenie"! –
@Steven zredagowany dla jasności –