請看下面的例子聲明:OOD在C#中 - 確定哪些屬性繼承VS這在當前類
public class BaseClass
{
public string StringInBaseClass {get;set;}
public int IntInBaseClass {get;set;}
}
public InheritingClass : BaseClass
{
public long LongInInheritingClass {get;set;}
public long ShortInInheritingClass {get;set;}
public long CharInInheritingClass {get;set;}
}
現在,我想要做的是序列化只是繼承屬性的JSON字符串。例如,我想以某種方式創建一個JSON對象了剛剛在InheritingClass 3個屬性,但如果我這樣做:
InheritingClass a = new InheritingClass();
JavaScriptSerializer jss = new JavaScriptSerializer();
string jsonString = jss.Serialize(a);
的jsonString值將所有的BaseClass的性能以及所有InheritingClass的屬性。我知道這很正常,因爲我繼承了所有這些屬性。我期望做的不是包括那些繼承的屬性,並且只有InheritingClass中的3個屬性構建JSON字符串。
這可能嗎?
爲什麼要這麼做? – Oded 2011-12-14 19:49:15
聽起來更像是一個序列化問題,而不是一個面向對象的設計和多態問題。建議如何禁用`BaseClass`屬性的序列化。 – Reddog 2011-12-14 19:51:37