У меня есть функция, которая имеет один параметр/аргумент типа String,:.Конкретные значения в качестве аргумента для функции
public void foo(String myParam)
{
//do something
}
возможные значения струны ограничено (например, «тест», «test2» и "test3"), любое другое значение myParam вызовет ошибку.
Можно ли ограничить возможные значения myParam без корпуса коммутатора, который будет проверять значение myParam?
Также возможно передать другой объект моей функции, которая обертывает реальное значение, которое мне нужно.
Есть ли для вас решение стандартного/лучшего способа?
Да, похоже, это подходит для перечисления. Вы можете проверить его, выполнив «Contract.Requires (Enum.IsDefined (typeof (MyParam), значение))' –
как выглядел бы вызов этой функции? – Zteve
Вы можете называть его как 'foo (MyParam.test)' или присваивать переменную 'enum' переменной и передавать ее. – juharr