C# - 添加到现有(生成的)构造函数

问题描述 投票:0回答:3
// Generated file public partial class MyGeneratedClass { public MyGeneratedClass() { Does some generated stuff } }

我唯一能提出的解决方案是:

// My hand made file public partial class MyGeneratedClass { public MyGeneratedClass(bool useOtherConstructor):this() { do my added functinallity } }
我很确定这会起作用,但是我对构造函数有一个la脚的偏见,我必须全部更改它们。  有更好的方法吗?  如果不是这样,那很好,但我想我会问。
    

如果您使用的是C#3并且可以更改发电机,则可以使用
partial方法

c# constructor multiple-constructors
3个回答
2
投票
// MyGeneratedClass.Generated.cs public partial class MyGeneratedClass { public MyGeneratedClass() { // Does some generated stuff OnConstructorEnd(); } partial void OnConstructorEnd(); } // MyGeneratedClass.cs public partial class MyGeneratedClass { partial void OnConstructorEnd() { // Do stuff here } }

您的环境是否可以从MyGeneratedClass继承,而不是将其作为部分类别。然后您可以覆盖构造函数?

不幸的是,您无法更改发电机的输出,您的选项有些有限,并且考虑到您要寻找的东西并不理想。他们是:

1
投票
从生成的类中介绍。儿童课将隐含地调用父母的约束。

将静态方法作为初始化器


1
投票

您可以创建一个称为“新”的静态类,然后创建一个用您的类名称为函数名称的静态函数。 要使用,您的语法将是新的。MygeneratedClass(参数)。
    公共静态类新 { 公共静态mygeneratedClass mygeneratedClass(对象参数) { 返回新的mygeneratedClass(); } }
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.