问题标签 [partial-classes]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ado.net - 补充 ADO.net 实体数据模型中的实体
(玩弄 MVC 框架)我创建了一个 ADO.net 实体数据模型。现在我想用一些业务逻辑来扩展它,比如创建返回上下文子集的函数。部分类与数据模型一起创建,因此我创建了一个新文件来声明部分类,如下所示:
我在其中放置了一个名为 GetMovieById(int id) 的函数,结果如下所示:
在启动项目之前,我没有收到任何错误,然后错误是:
编译器错误消息:CS1061:“RecordStore.Models.MovieDBEntities”不包含“MovieSet”的定义,并且找不到接受“RecordStore.Models.MovieDBEntities”类型的第一个参数的扩展方法“MovieSet”(您是否缺少使用指令还是程序集引用?)
我不明白这个错误,因为部分类的另一部分包含 MovieSet。我的问题基本上是,如果这不是扩展数据模型的方式,那将是什么方式,如果是这样,我为什么会收到这个错误?
c# - 什么控制 C# 部分类的 XML 序列化顺序?
正如C# 中的字段顺序是否重要?,可序列化属性的顺序会影响 XmlSerializer 输出等。
但是如果字段在 2 个文件中(使用部分类),有谁知道实际上是什么控制了结果顺序?也就是说,哪个文件的属性先出现?
(背景:我问这个是因为我遇到了一个场景,其中两个文件中的一个是从 xsd 自动生成的,另一个是手动编辑的。开发人员框与我们的脚本构建框的测试输出不同。大概这是两个环境中 xsd->C# 步骤的时间和历史的几个差异的副作用。各种修复方法,但如果可能的话,我想更好地理解编译过程。)
c# - 使用单独的程序集扩展 c# 代码
我需要添加一些额外的功能,其中包括向对象添加新属性以及在另一个处理该对象的类中扩展方法。我正在处理我们使用的产品的源代码(在 C# 2.0 中),我真的不想修改它,我只想扩展它。
理想情况下,我希望有一个单独的程序集来执行此操作,以便清楚它是我们的代码。似乎部分类和委托可能是要走的路,但我不确定这是否可行。有没有人做过类似的事情?或者知道什么好文章?
c# - 在 Asp.Net 中创建部分类
我有一个小型网络应用程序。
这就是我想要做的:创建部分类来拆分文件背后的代码。为什么我不能直接创建部分类?
如果这是代码隐藏文件:
并创建这个类:
我收到一条错误消息,当前上下文中不存在测试。
为什么是这样?
如果我创建几个从 System.Web.UI.Page 继承的部分类,然后从这个类继承我的代码隐藏文件(部分类的结果),我可以让一切正常工作。这是唯一的方法吗?
代码隐藏和aspx页面被动态编译成一个类有什么关系吗?
如果有人能回答我的问题,将不胜感激。事情现在正在解决,但我更愿意在与代码隐藏相同的“级别”上创建部分类,并避免使用继承。
谢谢/约翰
(请注意,我在两个类前面都有下划线,但在预览中只有一个可见,我不知道为什么..)
linq-to-sql - 抽象类中的分部方法 (C#)
我正在创建一个可以在 LINQ to SQL 类的部分类中继承的抽象类。LINQ to SQL 类包含一堆内置的分部方法。有没有一种方法可以实现抽象类中的一个或多个部分方法?我知道部分方法只能包含在部分类或结构中。我确信必须有另一种方法来做到这一点。
这里有更多细节:
- 我可能有一个名为 News 的数据库表。如果我创建一个包含此表的 LINQ to SQL dbml 文件,自动生成的代码会为 News 生成一个部分类。
- 这个分部类包含几个分部方法。
- 我有一个正在构建的类,其中包含我想在我的所有 LINQ to SQL 类中使用的几种方法。
- 其中一种方法是添加到每个 LINQ to SQL 类的部分方法。我有一个共同的身体可用于这种方法。与其将这个方法添加到每个部分类中,我正在寻找一种方法来创建它一次并使用我的基类继承来继承它。
希望这有助于解释更多。
c# - 使用部分类从代码隐藏文件调用内联(ascx)方法
我正在使用.net 2.0。我想将我的 C# 方法之一放在我的 ascx 文件内的内联服务器脚本块中,因为我需要在设计时对其进行大量更新。这样我就不必每次都编译我的大型项目。
我想从我的代码隐藏文件中调用该方法。我曾经通过在代码隐藏文件中插入一个虚拟存根方法并在 ascx 文件中覆盖它来做到这一点。现在,由于我已经开始使用部分类,我希望能够直接调用该方法。这不可能吗?
谢谢
c# - 在部分 LINQ to SQL 实体类上实现 IDisposable
我正在使用部分类将 LINQ 扩展到 SQL 实体类,我想知道如何最好地将实体对象上的某些属性重置为默认状态。
我的部分课程不使用非托管资源。据我所知;LINQ to SQL 实体类也没有。所以我想我将IDisposable
在Dispose()
.
- 您对这种方法有何看法?
- 您会将之前提到的属性设置为
null
或其他内容吗?
wcf - 通过网络发送接口定义(WCF 服务)
我有一个 WCF 服务,它生成负载实体框架对象(以及用于减轻负载的一些其他结构和简单类)并将它们发送到客户端应用程序。
我已经更改了 2 个类来实现一个接口,以便我可以在我的应用程序中将它们作为单个对象类型引用。很像这个例子: 是否可以强制实体框架生成的属性来实现接口?
但是,接口类型没有添加到我的 WCF 服务代理客户端 thingymebob 中,因为它没有在通过网络发送回的对象中直接引用。
因此,在我使用服务代理类的应用程序中,我无法转换或引用我的接口..
有什么我想念的想法吗?
这是一些示例代码:
c# - 可序列化的部分类
我有以下 VB.NET 类定义:
在另一个文件中我有同样的东西(当然有不同的方法和变量)。当我编译时,我收到以下错误:
不能多次应用属性“SerializableAttribute”。
该错误是不言自明的。我的问题是,如果我只是将一个类标记为 Serializable(),我可以假设整个类都被标记为 Serializable() 吗?换句话说,我只需要在课堂上的 1 个位置使用 serializable() 标记吗?
.net - OnValidate() 和 LINQ to Entity
我想实现一些业务规则验证,就像 Scott Guthrie 在他的 MVC Nerddinner 教程 ( http://nerddinnerbook.s3.amazonaws.com/Part3.htm ) 中所做的那样,但我在尝试这样做时遇到了问题。
Scott 在他的教程中使用了 Linq to SQL。他为他的数据对象创建了部分类,然后他实现了一个名为 OnValidate() 的部分方法,据他说,这是一个挂钩,当数据被持久保存到给定数据对象的数据库时,就会运行该挂钩。
我的问题是我正在使用 Linq to Entities 并且显然没有像上面那个可以使用的“钩子”方法,或者至少我找不到它,如果有的话。谁能告诉我如何使用 Linq to Entities 来做这件事?