2013-11-27 48 views
1

我會結合這兩個屬性FirstName和LastName和FullName屬性來創建 但他們不知道該寫什麼。困難的設置和獲取組合的屬性

public class Customer : CommonEntity 
{ 


    public String FirstName 
    { 
     get; 
     set; 
    } 

    public String LastName 
    { 
     get; 
     set; 
    } 



    public string FullName 
    { 
     get { return this.FirstName + " " + this.LastName; } 
     set { **.....** } 

    } 


} 

謝謝

+9

FullName最好應該是ReadOnly屬性 – Abhitalks

+1

它需要一個setter,還是僅用於顯示? –

+0

我需要一個setter,因爲在方法序列化和反序列化這些屬性應該使用 –

回答

4

從全名導出第一和最後一個名字是非常困難的。想想'John Charles Lee','Pedro de la Cruz','Pieter van den Hoogenband'等。

如果使用序列化,請不要序列化FullName屬性。大多數序列化器只對get屬性沒有做任何事情。

+3

爲了完整起見,我想添加一個名爲「John Charles Lee」的名稱 - 這將是第一個空白分隔不起作用的示例。 –

+0

@ O.R.Mapper添加了:) – Bas

0

既然你需要它的(德)序列化你需要屬性有一個setter。然而,你實際上並不需要do任何東西在setter中。我們有用於將數據輸出到xml的類,它純粹只是一個只讀屬性。我們通過讓制定者空着而現在來解決這個問題。 Serialization例程很高興地接受這個並將其吐出到xml文件中。

public string FullName 
{ 
    get { return string.Format("{0} {1}", this.FirstName, this.LastName); } 
    set { //Do Nothing } 
} 

這並不理想,因爲它看起來像一個可寫屬性。但是你可以使用XmlComments來表明它是隻讀的。由於我們的類純粹是爲了寫入Xml而設計的,因此我們的目的很好。

或者,您是否可以將序列化過程中的FullName排除在外,因爲它始終只是其他兩個的組合?只要它們存在,您總是可以檢索FullName。