Это отличается от вопросов, подобных приведенным ниже
Как определить, установлено ли свойство enum?C #
Я работаю над созданием службы WCF Rest с использованием существующих классов DataContract. Я не могу изменить типы данных свойств, такие как enum, на enum?а также не может добавить новую опцию в мое перечисление, например undefined, none или по умолчанию установить что-либо, поскольку, если я сделаю какое-либо из этих изменений, это окажет сильное влияние, и многие приложения будут зависеть от него .
Обычнолюди вызывают мою службу WCF REST с помощью приложений, таких как POSTMAN, куда они отправляют данные json, как показано ниже, где Gender - это перечисление с Male, Female, Transgender и т. д. Если они не отправляют его, моя служба выдает исключение и Я хочудобавить логику проверки, чтобы проверить, является ли enum нулевым или нет, когда QA вызывает мой сервис, используя POSTMAN, и отправляет данные JSON, даже если они не обнуляются и также не имеют никаких значений None, Null в моем enum? Если это NULL Iхочу отправить ArguementNullException обратно вызывающим абонентам с хорошим сообщением.Я хочу изящно справиться с этой ситуацией.
public enum Gender
{
Male = 0,
Female = 1,
Transgender = 2
}
Ниже хорошо
{
"Name" : "XXX"
"Gender" : "1"
}
Ниже выдает ошибку
{
"Name" : "XXX"
"Gender" : ""
}
РЕШЕНИЕ:
Спасибо pswg за указание в правильном направлении, и я отметил его ответ ниже.Я использую Newtonsoft, поэтому я сделал, как показано ниже
string stringfydata = Newtonsoft.Json.JsonConvert.SerializeObject(requestGender);
if(string.IsNullOrEmpty(stringfydata))
{
throw new ArgumentNullException("Gender value cannot be NULL or Empty.");
}