我有一个在生成代码中的构造函数。我不想更改生成的代码(因为当我重新生成时它会被覆盖),但我需要向构造函数添加一些功能。
下面是一些示例代码:
// 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并可以更改生成器,则可以使用partial methods:
// 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
}
}
关于c# - C#-添加到现有的(生成的)构造函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2759577/