Можно ли получить все расширяющиеся типы классов, в которых явно указан атрибут Serializable?
[DataContract]
[KnownType("GetKnownTypes");
public abstract class BaseClass
{
public Type[] GetKnownTypes(){
return all classes which extend this class
AND explicitly have the [Serializable] attribute
}
}
public class DoNotWant : BaseClass {}
[Serializable]
public class Want : BaseClass {}
Так что GetKnownTypes вернет класс Want, поскольку он расширяет BaseClass и явно имеет атрибутСериализуемый, в то время как DoNotWant не содержит атрибут Сериализуемый явноне уверен, что это потому, что BaseClass является Сериализуемым или нет)