如何将枚举传递给方法而不将其作为整数传递
How to pass an enum to a method without passing it as an integer
我有一个包含 3 个不同值的枚举
enum
{
inputValidation_Zipcode,
inputValidation_String,
inputValidation_Number
} InputValidation;
我试图将这三个枚举值之一传递给一个方法,并尝试了以下方法。
bool methodName(enum InputValidation inputenum)
bool methodName(InputValidation inputenum)
和ofc
bool methodName(int inpoutenum)
(所有三个都称为 methodName(InputValidation_Number) )
我知道最后一个 "work" 但允许所有整数作为参数。我怎样才能编写一个只接受 inputValidation 值的方法?
你的枚举定义有误,应该是:
enum /*class*/ InputValidation
{
inputValidation_Zipcode,
inputValidation_String,
inputValidation_Number
};
那么你可以使用:
bool methodName(InputValidation inputenum);
通过添加 class
来尝试范围枚举,如下所示:
enum class InputValidation
{
inputValidation_Zipcode,
inputValidation_String,
inputValidation_Number
};
我有一个包含 3 个不同值的枚举
enum
{
inputValidation_Zipcode,
inputValidation_String,
inputValidation_Number
} InputValidation;
我试图将这三个枚举值之一传递给一个方法,并尝试了以下方法。
bool methodName(enum InputValidation inputenum)
bool methodName(InputValidation inputenum)
和ofc
bool methodName(int inpoutenum)
(所有三个都称为 methodName(InputValidation_Number) )
我知道最后一个 "work" 但允许所有整数作为参数。我怎样才能编写一个只接受 inputValidation 值的方法?
你的枚举定义有误,应该是:
enum /*class*/ InputValidation
{
inputValidation_Zipcode,
inputValidation_String,
inputValidation_Number
};
那么你可以使用:
bool methodName(InputValidation inputenum);
通过添加 class
来尝试范围枚举,如下所示:
enum class InputValidation
{
inputValidation_Zipcode,
inputValidation_String,
inputValidation_Number
};