41
如果某個繼承自Serializable類的對象是子類還是Serializable?可序列化繼承
如果某個繼承自Serializable類的對象是子類還是Serializable?可序列化繼承
這取決於你的意思是可序列化的。如果您的意思是CLI標記(即[Serializable]
屬性),則這是而不是繼承(下面的證明)。您必須明確標記每個派生類爲[Serializable]
。但是,如果您的意思是ISerializable
接口,那麼是的:接口實現是繼承的,但您需要小心 - 例如使用virtual
方法,以便派生類可以將其數據貢獻給序列化。
using System;
class Program
{
static void Main()
{
Console.WriteLine(typeof(Foo).IsSerializable); // shows True
Console.WriteLine(typeof(Bar).IsSerializable); // shows False
}
}
[Serializable]
class Foo {}
class Bar : Foo {}
屬性根據其性質不會被繼承。另外,一個類不能被認爲是從屬性繼承的。人類,屬性與OP的問題無關。 – NotMe 2008-10-09 12:25:35
此外,此問題不明確 – 2009-06-17 00:37:53