我会将两个属性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 { **.....** }
}
}
谢谢
答案 0 :(得分:4)
从全名中获取名字和姓氏是非常困难的。想想John Charles Lee' Pedro de la Cruz' Pieter van den Hoogenband'等
如果使用序列化,请不要序列化FullName
属性。大多数序列化程序不对get
属性执行任何操作。
答案 1 :(得分:0)
由于您需要(de)序列化,因此您需要该属性具有setter。但是,您实际上并不需要在设置器中执行任何操作。我们有用于将数据输出到xml的类,这纯粹只是一个只读属性。我们解决了这个问题,因为它使得setter成为空洞但却存在。序列化例程很高兴接受这个并将其吐出到xml文件。
public string FullName
{
get { return string.Format("{0} {1}", this.FirstName, this.LastName); }
set { //Do Nothing }
}
它并不理想,因为它看起来像一个可写属性。但您可以使用XmlComments指示它是只读的。这对我们的目的来说很好,因为我们的类完全是为了写入Xml而设计的。
或者,您是否可以从序列化过程中排除FullName,因为它始终只是其他两个的组合?只要它们存在,您总是可以检索FullName。