Есть ли общепринятый способ избежать использования атрибутов KnownType в сервисах WCF? Я провел некоторое исследование, и, похоже, есть два варианта:
Я не большой поклонник необходимости статически добавлять атрибуты KnownType каждый раз, когда я добавляю новый тип, поэтому хочу избегать его.
Есть ли третий вариант, который следует использовать? Если так, то, что это? Если нет, какой из этих двух вариантов является правильным?
Редактировать - использовать метод
Третий вариант будет использовать отражение
[DataContract]
[KnownType("DerivedTypes")]
public abstract class FooBase
{
private static Type[] DerivedTypes()
{
return typeof(FooBase).GetDerivedTypes(Assembly.GetExecutingAssembly()).ToArray();
}
}