In C#, consider we have a generic class and a concrete class
[Serializable]
public class GenericUser
{ ...
[Serializable]
public class ConcreteUser : GenericUser
{ ...
is it necessary to mark ConcreteUser as [Serializable] or inheritance will take care of it?
Inheritedis set tofalsewith the[AttributeUsage]ofSerializableAttribute, so yes, you need to set it on the concrete class.See http://msdn.microsoft.com/en-us/library/system.serializableattribute.aspx for more information.