С какой стати ты это делаешь ??
[DataContract(Name = "Type1")]
[KnownType(typeof(Type1))]
public class Type1
{
}
Я не думаю, что здесь необходим атрибут KnownType
- он понадобится в случаях полиморфизма: если у вас есть метод, который возвращает BaseType
и может вернуть на его место производный тип Type1 : BaseType
.
Если вы вернете Type1
и у вас действительно будет только Type1
в качестве типа, этот атрибут knownType является излишним.
Вторая проблема заключается в следующем:
public class MyStuff : Collection<object> {
Если у вас есть коллекция object
- это коллекция потенциально чего-либо вообще - поэтому сериализатор будет использовать xs:anyType
для представления этого.
Разве вы не можете ввести тип базового класса, сделать свою коллекцию коллекцией этого базового типа и получить два ваших отдельных типа из этого базового класса?