Я ищу лучший способ решить следующий сценарий. Я не хочу сейчас использовать отражение и должен был поднять logi c на n-й уровень. Код должен быть простым C# без проверки атрибутов. Потому что это проверка внутреннего кода. Я хотел бы решить этот оператор, например XOR или аналогичный.
Сценарий:
У меня есть три поля (может быть 4, 5, nth) в классе. из трех пользователь должен выбрать только одно поле. если ничего не выбрано, выбрано два или более поля, нам нужно сгенерировать исключение.
Код:
// no type defined for item
if ( hasUserId==false
&& hasSigningGroup==false
&& hasAssignedAgent == false)
{
throw new Exception("No type defined for item.");
}
else
{
if ((hasSigningGroup && hasUserId)|| (hasSigningGroup && hasAssignedAgent)|| (hasUserId && hasAssignedAgent))
{
throw new Exception("User ID , Signing group or assigned agent. Only one property can be set.");
}
}