相关疑难解决方法(0)

是否有可能在不同的程序集中有两个部分类代表同一个类?

我在名为"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逻辑混合在一起?

asp.net partial-classes asp.net-dynamic-data

124
推荐指数
3
解决办法
4万
查看次数