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

2023-11-25

我在名为“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; }
}

现在,如果分部类与原始分部类位于同一项目中(即 MyProject.Data 项目),则一切正常。

但 UI 行为不应该位于数据层,而应该位于管理层。所以我想将这个类移至MyProject.Admin。

但是,如果我这样做,功能就会丢失。

我的基本问题是:我可以在不同的项目中拥有两个部分类,但两者都引用同一个“类”吗?

如果没有,有没有一种方法可以完成我想要做的事情,而不将数据层逻辑与 UI 逻辑混合?


不,不能有两个分部类在两个不同的程序集(项目)中引用同一个类。一旦程序集被编译,元数据就会被嵌入,并且您的类不再是部分的。部分类允许您将同一类的定义拆分为两个文件。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

不同程序集中的两个分部类是否可以代表同一个类? 的相关文章

随机推荐

  • 有没有办法在 iOS 设备的 Mobile Safari 上使用 window.onbeforeunload ?

    看起来 Apple 已禁用 iOS 设备 iPhone iPad iPod Touch 的 window onbeforeunload 事件 不幸的是 我找不到任何文档来说明为什么此事件在 Mobile Safari 中不起作用 有谁知道这
  • 如何避免锚点()标签点击时页面刷新?

    我正在创建一个动态网站 我的问题是当我点击以下标签时 a class s inte href Interesante a 页面刷新 如何避免页面刷新 您想要完成的是更新一些兴趣计数器而不刷新页面 您应该使用 AJAX
  • 在 python 中初始化项目布局?

    假设一个程序员有以下问题 他想开始一个新的Python项目 他需要样板文件的基本布局 例如测试目录 源目录 setuptools 脚本等 他如何使用单个命令创建所有这些内容和布局 例如 粘贴 正如其中一个答案中所建议的 为您提供这项服务 p
  • java.lang.IllegalStateException:CameraX 尚未初始化

    我正在关注这个关于 CameraX 的 Google Codelab 当我开始添加相机预览的部分时 我会这样做 val previewConfig PreviewConfig Builder apply setTargetAspectRat
  • 正则表达式匹配除字母和数字之外的所有字符

    我想清除所有上传文件的文件名 我想删除除句点 字母和数字之外的所有字符 我不擅长正则表达式 所以我想我会在这里问 有人可以告诉我如何将它们组合在一起吗 我正在使用 PHP newfilename preg replace a zA Z0 9
  • onbeforeprint 和 onafterprint 在 Chrome 和 IE 中不起作用?

    我在我的项目中使用打印 使用 HTML 和 javascript 在 mozilla 中 onbeforeprint 和 onafterprint 工作正常 但在 chrome 中不起作用 Chrome 的有效方法是检查 window 中的
  • Pandas DataFrame 烛台图中的重叠日期

    我有一个 pandas 数据框输出如下 Open High Low Close 2016 06 01 69 60 70 20 69 44 69 76 2016 06 02 70 00 70 15 69 45 69 54 2016 06 03
  • 使用 FragmentPagerAdapter 的循环 ViewPager

    我想实现一个 ViewPager 它使用 Fragments 并可以以曲线运动方式滑动 例如页面 ABCA 我读过几篇关于如何完成此操作的帖子 例如返回有多少元素的假计数 并将位置设置在中间的开头 如何创建圆形viewpager 这些似乎都
  • SQLAlchemy 中的事务线程安全吗?

    我正在使用 SQLAlchemy 的表达式语言而不是它的 orm 开发一个 Web 应用程序 我想在我的应用程序中使用多个线程 但我不确定线程 安全 我在用文档的这一部分建立连接 我认为这是线程安全的 因为我在每个请求中引用了特定的连接 这
  • 如何使用 Android Facebook sdk 从 Facebook 获取好友列表? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我在 Facebook 上创建了一个应用程序 并实现了实施 Facebook SDK 的一些第一步 这就是我想要做的 从 Facebook 获取朋友
  • Octave/Matlab 与 Scipy 中的周期图

    我正在使用 scipy 将一些 matlab 代码移植到 python 中 但遇到了以下行 Matlab 倍频程代码 Pxx f periodogram x 512 5 Python代码 f Pxx signal periodogram x
  • JSONPath通过子子值获取父元素的id

    鉴于以下 JSON 我想得到id通过子元素的 equals 文本比较父元素的字段 datapoints id default 1 definedBy default 0 1 featureValues bui displayname Hea
  • 使用 Google Apps 脚本创建草稿邮件

    我想知道是否可以使用 Google Apps 脚本创建草稿邮件 如果是的话 怎么可能 问候 塞巴斯蒂安 此时 无法创建出现在您的Drafts文件夹 之前已请求此功能 请参阅第985期 如果您有兴趣接收任何更新 请访问该问题并加注星标 EDI
  • Entity Framework Core 中的流畅 API、多对多

    我在 stackoverflow 上搜索了生成的正确解决方案多对多关系 使用 EF Core 代码优先和 Fluent API 一个简单的场景是 public class Person public Person Clubs new Has
  • 将 jQuery 插件与 Backbone 和 Requirejs 一起使用

    我正在使用backbone requirejs jquery 并且我在当前的html页面 准确地说是backbone html模板 中加载jquery插件时遇到问题 有我需要的配置 require config paths some cod
  • 如何判断文件夹是否打开?

    在我的应用程序中 我尝试重命名该文件夹 但如果在 Windows 资源管理器中打开该文件夹 我会得到一个IOException 如何在 C 中判断文件夹是否在 Windows 资源管理器中打开 捕获 IOException 正如其他人所说
  • Python 尝试例外

    try statement 1 statement 2 except Exception err print err pass 这可能很微不足道 但直到现在我才真正考虑过它 我发现自己无法回答以下问题 如果语句 1 中出现错误 语句 2 是
  • C/C++ 改变 const 的值

    我有一篇文章 但我把它弄丢了 它展示并描述了一些人们应该小心的 C C 技巧 其中之一让我感兴趣 但现在我正在尝试复制它 但无法将其编译 这个概念是有可能偶然改变一个值const在 C C 中 事情是这样的 const int a 3 I
  • 在 Javascript 中,即使从不抛出异常,使用 try-catch 块是否昂贵?

    当其中任何一个都没有抛出异常时 使用多个 try catch 块是否 慢 我的问题与this one 但对于 JavaScript 假设我有 20 个函数 其中包含 try catch 块 另一个函数调用这 20 个函数中的每一个他们都没有
  • 不同程序集中的两个分部类是否可以代表同一个类?

    我在名为 MyProject Data 的项目中有一个名为 Article 的类 它充当我的 Web 应用程序的数据层 我有一个名为 MyProject Admin 的单独项目 它是一个基于 Web 的管理系统 用于查看 编辑数据 并使用