我在名为"MyProject.Data"的项目中有一个名为"Article"的类,它充当我的Web应用程序的数据层.
我有一个名为"MyProject.Admin"的独立项目,它是一个基于Web的管理系统,用于查看/编辑数据,并使用ASP.NET动态数据构建.
基本上我想使用部分类扩展Article类,这样我就可以使用"UIHint"扩展器扩充其中一个属性,这将允许我用FCKEdit控件替换普通的多行文本框.
我的部分类和扩展器看起来像这样:
[MetadataType(typeof(ProjectMetaData))]
public partial class Project
{
}
public class ProjectMetaData
{
[UIHint("FCKeditor")]
public object ItemDetails { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
如果部分类与原始部分类在同一个项目中 - 即MyProject.Data项目,这一切都可以正常工作.
但是UI行为不应该位于数据层中,而应该位于Admin层中.所以我想把这个类移到MyProject.Admin.
但是,如果我这样做,功能就会丢失.
我的基本问题是:我可以在单独的项目中有2个部分类,但两者都指的是同一个"类"吗?
如果没有,有没有办法完成我正在尝试做的事情,而不将数据层逻辑与UI逻辑混合在一起?