对象初始化程序和动态指定属性

Pos*_*Guy 6 c# object-initializers

使用对象初始化程序,是否可以选择包含属性设置?

例如:

Request request = new Request
{
    Property1 = something1,
    if(something)
        Property2 = someting2,                                      
    Property3 = something3
};
Run Code Online (Sandbox Code Playgroud)

Alc*_*nja 4

据我所知。很确定你唯一的选择就是这样做:

Request request = new Request
{
    Property1 = something1,
    Property3 = something3
};
if(something)
    request.Property2 = someting2;
Run Code Online (Sandbox Code Playgroud)

或者,如果有默认/空值,您可以将其设置为:

Request request = new Request
{
    Property1 = something1,
    Property2 = something ? someting2 : null,
    Property3 = something3
};   
Run Code Online (Sandbox Code Playgroud)