Tag: partial classes

如何在C#中使用partial方法来扩展现有的实现

如果这样做会很好。 我试图以错误的方式实现我的想法吗? 我想使用partial方法,以便能够扩展现有代码,并简单地插入/输出方法的实现。 基本上正是参考文献的内容: 部分方法使类设计者能够提供类似于事件处理程序的方法钩子,开发人员可以决定是否实现。 如果开发人员不提供实现,则编译器会在编译时删除签名。 我第一次尝试使用它是以下内容: DefinitionsBase.cs: namespace ABC { public partial class Definitions { // No implementation static partial void TestImplementaion(); } } DefinitionsExt.cs: namespace ABC { public partial class Definitions { static partial void TestImplementaion(){ // Implementation is here } } } Program.cs中: namespace ABC { class Program { static void Main(string[] […]

在entity framework中放置扩展的部分类

由于部分类必须位于同一个命名空间中,我唯一的选择是将它们放在与我的.edmx相同的方向上? 如果是这种情况,我假设文件名必须始终不同。 另外,还有什么我需要做的或者我只是在同一目录中创建另一个具有相同名称的部分类并向其添加属性/方法吗?

从部分类访问类字段

我目前处于一个必须使用部分类的场景中。 在这个部分类中,我有一些方法需要解决另一个类中的字段。 例如 编辑:对不起:第一堂课已被宣布为partial ! public partial class myClass { private string _myString; public string myString { get { return _myString; } set { _myString = value; } } } 和 public partial class myClass { public void doSomething() { myString = “newString”; } } 编译器说部分类中不存在myString ! 我怎样才能克服这个问题?

使用部分类

在内存,性能等情况下,是否存在使用部分类的开销? 如果我们创建一个局部类,我们可以识别该类是否是部分或不使用reflection器 ?

将添加到生成的分部类中的特定属性

我有一个由T4模板生成的entity frameworkPOCO类。 我打算使用生成的类作为我的数据契约。 但是,它有一些不需要在合同中的属性。 例如,我有一个名为AddressId的属性。 它是地址表的外键。 由于实际地址附加到对象,我不希望AddressId对客户端可见。 我可以修改T4模板,但我不愿意。 我看到这篇文章展示了如何使用’MetadataType’将属性添加到部分类中的现有属性。 这是他们给出的例子: [MetadataType(typeof(Dinner_Validation))] public partial class Dinner {} public class Dinner_Validation { [Required] public string Title { get; set; } } 但我尝试了我的课程(使用[IgnoreDataMember])并且它不起作用(仍显示AddressId)。 如何隐藏这一个属性而无需创建一个全新的类来复制我的所有数据?

表单设计器打破通用抽象UserControl

我有一个通用的抽象UserControl类, SensorControl ,我希望我的所有传感器控制面板都可以inheritance。 问题 尝试设计EthernetSensorControl (我inheritance的UserControl表单之一,在Visual Studio中,表单设计器中显示以下错误: 无法为此文件显示设计器,因为其中的任何类都无法设计。 设计人员检查了文件中的以下类:DeviceSensorControl —无法加载基类“Engine.Sensors.SensorControl”。 确保已引用程序集并且已构建所有项目。 SensorControl类: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows.Forms; namespace Engine.Sensors { public abstract class SensorControl : UserControl where SensorType : class { protected SensorType _sensor; public SensorControl(SensorType sensor) { _sensor = sensor; } } } 示例inheritance类, EthernetSensorControl : namespace Engine.Sensors { […]

防止DebuggerStepThroughAttribute应用于我的非xsd生成的分部类?

我使用xsd.exe工具根据我的xml架构生成一个类。 它使用DebuggerStepThroughAttribute创建了一个公共部分类。 好吧,我为这个类创建了另一个部分类文件来编写我的自定义代码,并且希望能够逐步进入我编写的代码,但看起来调试器也将步进属性应用于我的部分类。 我是否有一种简单的方法可以逐步进入我的代码,而无需在每次重新生成分部类时手动删除属性?

C#中的部分类

在webforms / winforms生成的代码场景之外是否有很好的使用部分类? 或者这个function基本上是支持吗?

什么部分意味着什么?

public partial class Form1 : Form 本声明中的部分内容是什么意思? 我知道我们有一个inheritance自Form的Form1。 但部分意味着什么呢?

如何将数据注释添加到分部类?

我有一个自动生成的类,上面有一个属性。 我想在另一个相同类型的部分类中向该属性添加一些数据注释。 我该怎么办? namespace MyApp.BusinessObjects { [DataContract(IsReference = true)] public partial class SomeClass: IObjectWithChangeTracker, INotifyPropertyChanged { [DataMember] public string Name { get { return _name; } set { if (_name != value) { _name = value; OnPropertyChanged(“Name”); } } } private string _name; } } 在另一个文件中我有: namespace MyApp.BusinessObjects { public partial class SomeClass { private […]