1

我有兩個類:C#初始化內在性能

public class TmpClass 
{ 
    public TmpClass() 
    { 
     InnerClass = new InnerClass(); 
    } 

    public InnerClass InnerC { get; set; } 
} 

public class InnerClass 
{ 
    public string Name { get; set; } 
} 

,並有可能將InnerClass初始化財產這樣,becouse這樣VS2010不能做的。

TmpClass a = new TmpClass() 
{ 
    InnerC.Name = "blabla" 
} 
+0

你考慮使用構造函數? – 2013-02-18 14:22:44

回答

1

使用下面的代碼片段:

TmpClass a = new TmpClass 
{ 
    InnerC = new InnerClass { Name = "Name" } 
}; 

注意,該語句new TmpClass會默認調用構造函數。另請注意:你有錯誤的構造函數聲明。更改TmpClass構造下一個代碼示例,這樣它會編譯:

public TmpClass() 
{ 
    InnerC = new InnerClass(); 
} 
0
TmpClass a = new TmpClass() 
{ 
    InnerC = new InnerClass 
    { 
     Name = "blabla" 
    } 
}