powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Как слелать поля класса обязательными?
3 сообщений из 3, страница 1 из 1
Как слелать поля класса обязательными?
    #39122811
talja
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго времени суток.
Столкнулась с такой проблемой: нужно сделать несколько свойств класса обязательными. То есть без этих свойств класс просто бесполезен.
При этом использование параметризованного конструктора- не вариант. Класс в дальнейшем нужно сериализовать. А при xml- сериализации выдается ошибка: "Класс не содержит непараметризованного конструктора". Но мне и не нужен непараметризованный конструктор. Более того - он крайне нежелателен без возможности сделать свойства обязательными.
Использование аттрибута "Requied"- то же не вариант. А работаю над wcf- сервисом, потому никаких форм (представлений), для которых класс будет моделью- нет.
Проверка свойств на null будет загромождать код, что очень нежелательно.

Может быть кто-то сталкивался с подобным?
...
Рейтинг: 0 / 0
Как слелать поля класса обязательными?
    #39122939
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
talja,
Ну так используйте контракт для этого.
Код: c#
1.
2.
[DataMember(IsRequired = true)] 
public int IamRequired { get; set; }
...
Рейтинг: 0 / 0
Как слелать поля класса обязательными?
    #39159877
talja
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Атрибут IsRequired нужно использовать совместно с атрибутом EmitDefaultValue:

[DataMember(IsRequired = true, EmitDefaultValue = false)]
public int IamRequired;
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Как слелать поля класса обязательными?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]