问题标签 [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.

0 投票
10 回答
13415 浏览

c# - 最佳实践:何时不/使用部分类

一段时间以来,我一直在使用部分类修饰符,以便将辅助类放在自己的文件中。

今天我们来了一个新人,他说与他合作的最后一个团队不允许为此使用分部类,因为修改单独文件中的帮助程序类会导致主要分部类文件因更改而失控. 此外,他们只被允许在主类中放置一个辅助类作为最后的手段,这样一切都保持解耦。

你怎么看?使用这样的部分类有什么问题还是归结为偏好?

例如,我通常有这样的事情:

  • 主类.cs
  • MainClass.Helper1.cs
  • MainClass.Helper2.cs

...

0 投票
1 回答
611 浏览

entity-framework - 实体框架 - 如何在我的扩展类中使用实体关系?

我正在尝试扩展实体框架创建的部分类,以便我可以更轻松地使用下面代码中的对象(请让我知道是否有更好或更例外的方式来使用实体框架执行此操作)

但当然我得到了“对象引用未设置为对象的实例”这一行:Me.Status.StatusID = proj.Status.StatusID

扩展部分类时如何传递相关的实体值?或者我只是在这里离基地很远,并且有一种更简单的方法来做我想做的事情?

0 投票
3 回答
324 浏览

c# - 使用部分类进行自动生成代码,如何设置文件命名等?

我有一个使用代码生成工具生成的 datalayer.cs 文件。

我将该类标记为部分类,因此我可以使用自己的手写数据层代码创建另一个文件。

我应该如何命名我的文件?

我应该这样做:

/data/partial/datalayer.cs /data/datalayer.cs

因此,当我再次运行代码生成器时,我只是将文件转储到源代码树中的 /partial/ 文件夹中。

建议?

0 投票
1 回答
956 浏览

ruby-on-rails - 在 Rails 中使用嵌套的 insert_html 部分时出错

所以我有两个嵌套的部分调用insert_html。基本上每支球队都有多名球员,我有一个添加球员按钮和一个添加球队按钮,每个按钮都使用以下助手调用部分

如果我只使用一个 insert_html 调用,这很好用,但是当我尝试同时使用这两个调用时,我得到一个 javascript 错误“参数列表后缺少)”并且外部“添加团队”按钮失败。有任何想法吗?

0 投票
8 回答
1601 浏览

c# - 我应该将 Dispose 逻辑分离到部分类文件中吗?

在重构一些 C# 类时,我遇到了实现 IDisposable 的类。

我不假思索地为每个实现 IDisposable 接口的类创建了部分类文件。

例如)对于 Stamper.cs -> Stamper.cs + Stamper.Dispose.cs 其中Stamper.cs包含用于标记的实际逻辑,而Stamper.Dispose.cs包含处置逻辑

当我查看代码时,Stamper.cs 现在看起来更加清晰易读(现在大约 52 行而不是 100 行,大约 50 行只是一个清理处置代码)

我在这方面走得太远了吗?

*编辑:感谢大家的意见 - 我决定将两个文件合二为一。我遇到的问题是我实际上在更新实际逻辑后忘记更新 IDisposable 实现。

此外,在源代码中的方法之间导航没有太大问题。第一个原因似乎不仅仅是在我的具体情况下坚持使用一个文件解决方案的原因。

0 投票
3 回答
403 浏览

asp.net - ASP.NET Additional Partial Classes

I have a huge code behind file for one of my ASP.NET pages. It would be easier to maintain the code if I could break it up into multiple partial classes. However this is not well documented for ASP.NET.

I've learned that the additional partial classes must be moved into the App_Code folder. It seems that I need to use Protected WithEvents declarations to reference my web controls (although I'm not sure that will work yet).

My hang up right now is the ViewState. I cannot reference that in the additional partial class file. I need to get an ID number from the query string in the partial class. If I create a public property in the code behind file for the query string value, it cannot be referenced in the partial class file. It does not show up.

0 投票
3 回答
1548 浏览

c# - Visual C#、Winforms 和 Partial Class Madness

我没有用.NET 做太多的工作,所以如果这有一个微不足道的解决方案,请原谅我。

“问题”(实际上更令人烦恼)是 VC# IDE默认System.Windows.Forms.Form打开所有具有在设计视图中继承的类的文件。唯一的例外是“*.Designer.cs”文件。

一般来说,这很好。但是,如果我有一个partial class实现一些控制处理程序代码的,这将变得相当烦人。例如,当双击源文件时,您会被带到 Winforms 设计器并显示一个空表单。完全没用。

要解决这个问题,您需要右键单击有问题的源文件,然后从上下文菜单中选择“查看代码”。

我的问题很简单:有什么方法可以绕过这个荒谬的?如果没有,我想知道人们如何组织他们的 UI 处理代码。

谢谢!

0 投票
7 回答
11479 浏览

c# - LINQ to SQL - 使用部分类和方法扩展数据上下文时编译错误

我正在尝试使用我的 datacontext.designer.cs 文件中的可扩展性方法定义来进行一些验证。

所以我创建了一个新文件并添加了以下代码:

由于这些错误,我无法编译:

我看不出我做错了什么。我以前做过。此外,在添加上述代码后,在引用由 LINQ to SQL 创建的类的代码中,它抱怨我的实体类型不再存在。就好像分部类 LawEnforcementDataContext 完全接管了生成的代码。

编辑

以下是生成代码的部分声明的另一半:

0 投票
9 回答
48554 浏览

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

我在一个名为“MyProject.Data”的项目中有一个名为“Article”的类,它充当我的 Web 应用程序的数据层。

我有一个名为“MyProject.Admin”的单独项目,它是一个基于 Web 的管理系统,用于查看/编辑数据,并使用 ASP.NET 动态数据构建。

基本上我想使用部分类来扩展 Article 类,以便我可以使用“UIHint”扩展器来扩充它的一个属性,这将允许我用 FCKEdit 控件替换普通的多行文本框。

我的部分类和扩展程序如下所示:

现在,如果部分类与原始部分类在同一个项目中 - 即 MyProject.Data 项目,这一切都可以正常工作。

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

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

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

如果没有,有没有办法在不将数据层逻辑与 UI 逻辑混合的情况下完成我想要做的事情?

0 投票
3 回答
1706 浏览

visual-studio-2008 - 部分类 - Visual Studio 2008

是否有可能创建在解决方案资源管理器中分组的部分类,例如 VS 使用类后面的代码(例如Default.aspxDefault.aspx.cs)。

我想创建MyClass.csMyClass.partial.cs,它们不应在解决方案资源管理器中显示为 2 个单独的文件。