gpt4 book ai didi

c# - 构造代码以允许多个开发人员更新构造函数的最佳方法是什么

转载 作者:行者123 更新时间:2023-11-30 22:12:12 26 4
gpt4 key购买 nike

我们有多个开发人员都更新了一个具有如下构造函数的类。

public class A
{
private readonly IB<W, X> _property1;
private readonly IB<Y, Z> _property2;

public MyClass(IC c)
: this(
new IB<W, X>(),
new IB<Y, Z>(c)
)
{
}

public MyClass(
IB<W, X> property1,
IB<Y, Z> property2
)
{
_property1 = property1;
_property2 = property2;
}
}

我希望能够允许开发人员在不编辑任何现有文件的情况下向构造函数添加新参数,以便我们可以使用 T4 模板生成更改,如下所示,尽管目前 C# 中不允许这样做据我所知。

public partial class A
{
private readonly IB<U, V> _property3;

public partial MyClass(IC c)
: this(
new IB<U, V>()
)
{
}

public partial MyClass(
IB<U, V> property3
)
{
_property3 = property3;
}
}

这段代码非常通用,大部分时间都是相同的,我们使用 T4 模板生成其中的一些代码,但我们必须手动将生成的代码复制到类中。我想做的是能够拥有多个 MyClass 的部分类(或其他东西),这样我们就可以始终生成代码,然后在必要时手动更新一个文件。问题是我想不出一种方法来构造代码以允许这样做,任何人都可以想出一种方法来实现这一点吗?

编辑 1:更新以尝试使问题更清楚

最佳答案

我认为这就是 partial 的用途。

It is possible to split the definition of a class or a struct, an interface or a method over two or more source files. Each source file contains a section of the type or method definition, and all parts are combined when the application is compiled.

http://msdn.microsoft.com/en-us/library/wa80x488%28v=vs.90%29.aspx

public partial class MyClass
{
public void MyClass()
{
}
}

public partial class MyClass
{
public void MyClass(Foo bar)
{
}
}

关于c# - 构造代码以允许多个开发人员更新构造函数的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19855416/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com