Mam klasę o nazwie „Artykuł” w projekcie o nazwie „MyProject.Data”, która działa jako warstwa danych dla mojej aplikacji internetowej.
Mam osobny projekt o nazwie „MyProject.Admin”, który jest internetowym systemem administracyjnym do przeglądania / edycji danych i został zbudowany przy użyciu ASP.NET Dynamic Data.
Zasadniczo chcę rozszerzyć klasę Article, używając klasy częściowej, aby móc rozszerzyć jedną z jej właściwości o rozszerzenie „UIHint”, które pozwoli mi zastąpić zwykłe wielowierszowe pole tekstowe kontrolką FCKEdit.
Moja klasa częściowa i ekstender wyglądałyby tak:
[MetadataType(typeof(ProjectMetaData))]
public partial class Project
{
}
public class ProjectMetaData
{
[UIHint("FCKeditor")]
public object ItemDetails { get; set; }
}
Teraz wszystko działa dobrze, jeśli klasa częściowa znajduje się w tym samym projekcie co oryginalna klasa częściowa - tj. Projekt MyProject.Data.
Jednak zachowanie interfejsu użytkownika nie powinno znajdować się w warstwie danych, ale raczej w warstwie administracyjnej. Dlatego chcę przenieść tę klasę do MyProject.Admin.
Jeśli jednak to zrobię, utracę funkcjonalność.
Moje podstawowe pytanie brzmi: czy mogę mieć 2 klasy cząstkowe w oddzielnych projektach, ale obie odnoszące się do tej samej „klasy”?
Jeśli nie, czy istnieje sposób, aby osiągnąć to, co próbuję zrobić, bez mieszania logiki warstwy danych z logiką interfejsu użytkownika?