У меня есть класс под названием "Article" в проекте под названием "MyProject.Data", который действует как слой данных для моего веб-приложения.
У меня есть отдельный проект под названием MyProject.Admin, который является веб-административной системой для просмотра/редактирования данных и был создан с использованием динамических данных ASP.NET.
В принципе, я хочу расширить класс Article, используя частичный класс, чтобы я мог расширить одно из своих свойств с помощью расширителя "UIHint", который позволит мне заменить нормальное многострочное текстовое поле на элемент управления FCKEdit.
Мой частичный класс и расширитель будут выглядеть так:
[MetadataType(typeof(ProjectMetaData))]
public partial class Project
{
}
public class ProjectMetaData
{
[UIHint("FCKeditor")]
public object ItemDetails { get; set; }
}
Теперь все работает отлично, если частичный класс находится в том же проекте, что и исходный частичный класс - то есть проект MyProject.Data.
Но поведение пользовательского интерфейса не должно находиться в слое данных, а, скорее, на уровне администратора. Поэтому я хочу переместить этот класс в MyProject.Admin.
Однако, если я это сделаю, функциональность будет потеряна.
Мой основной вопрос: могу ли я иметь 2 частичных класса в отдельных проектах, но оба относятся к одному и тому же "классу"?
Если нет, есть ли способ выполнить то, что я пытаюсь сделать, не смешивая логику уровня данных с логикой пользовательского интерфейса?