C#-添加到现有(生成的)构造函数
我在生成的代码中有一个构造函数。我不想更改生成的代码(因为当我重新生成时它会被覆盖),但我需要向构造函数添加一些功能 下面是一些示例代码:C#-添加到现有(生成的)构造函数,c#,constructor,multiple-constructors,C#,Constructor,Multiple Constructors,我在生成的代码中有一个构造函数。我不想更改生成的代码(因为当我重新生成时它会被覆盖),但我需要向构造函数添加一些功能 下面是一些示例代码: // Generated file public partial class MyGeneratedClass { public MyGeneratedClass() { Does some generated stuff } } 我能想到的唯一解决方案是: // My hand made file public parti
// 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
}
}
我相当肯定这会起作用,但是我的构造函数有一个无用的参数,我必须去改变它们。有更好的办法吗?如果不是,那很好,但我想我会问。如果您使用C#3并可以更换发电机,您可以使用:
您的环境是否允许您从MyGeneratedClass继承,而不是将其作为部分类。然后您可以重写构造函数?假设您无法更改生成器输出,不幸的是,您的选项有点有限,并且考虑到您要查找的内容,这并不理想。它们是:
- 从生成的类继承。子类将隐式调用父类的构造函数
- 使用静态方法作为初始值设定项
// 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
}
}