У меня есть открытый класс, который некорректно сериализуется. При попытке выдается следующее исключение:
Тип контракта данных MyProject.MyClass не может быть сериализован, поскольку он не является общедоступным. Открытие типа исправит эту ошибку. Как вариант, вы можете сделать его внутренним, и используйте атрибут InternalsVisibleToAttribute в вашей сборке, чтобы включить сериализацию внутренних элементов - см. документацию для получения дополнительных сведений. Имейте в виду, что это имеет определенные последствия для безопасности.
Мой класс является общедоступным:
[DataContract]
public class MyClass
{
[DataMember]
public string Name { get; set; }
[DataMember]
private int Count;
public MyClass()
{
Name = string.Empty;
Count = 0;
}
}
Почему я получаю это исключение, когда класс явно общедоступен?