如何避免传递给构造函数的多个参数的赋值

本文关键字:参数 赋值 构造函数 何避免 | 更新日期: 2023-09-27 18:01:13

如果我在c#中有一个类,其中包含许多需要在构造函数中初始化的变量,例如

public class AnyClass
{
    private int Var1; 
    private int Var2;
    ...
    private int varN;
    public AnyClass(int InVar1,int InVar2,...,InVarN)
    {
        Var1=InVar1;
        Var2=InVar2;
        ...
        VarN=InVarN;
        // 
        //Code
        //
    }
}

是否有一种方法可以避免中间变量InVar1、InVar2等,使传递给构造函数的参数自动映射到类中包含的变量。

如何避免传递给构造函数的多个参数的赋值

目前没有,C#6可能包括它。

这就是可能看起来像

之前

public class Point {
    private int x, y;
    public Point(int x, int y)
        this.x = x;
        this.y = y;
    }
}

之后

public class Point(private int x, private int y) {
}

如果您不介意使用带有公共setter的属性,那么可以使用Object初始值设定项。例如

Cat cat = new Cat { Age = 10, Name = "Fluffy" };