我有一个函数,该函数具有1个类型为String的参数/参数:

        public void foo(String myParam)
        {
           //do something
        }


如果字符串的可能值受到限制(例如“ test”,“ test2”和“ test3”),则myParam的任何不同值都将导致错误。

是否有可能限制myParam的可能值而无须检查myParam值的开关情况?

也可以将另一个对象传递给我的函数,该对象包装我需要的实际值。

是否有标准/最佳方法解决方案?

最佳答案

您可以创建一个枚举

public enum MyParam
{
    test,
    test2,
    test3
}


并使用ToString来获取enum的字符串表示形式

public void foo(MyParam myParam)
{
    if(!Enum.IsDefined(typeof(MyParam),myParam))
        throw new ArgumentException();
    myParamString = myParam.ToString();
}

关于c# - 特定值作为函数的参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15247680/

10-09 18:20