C#调用方法时预选的参数值
我正在尝试制作一个方法/函数,它可以在两种模式下工作:位模式或十六进制模式。C#调用方法时预选的参数值,c#,compiler-warnings,C#,Compiler Warnings,我正在尝试制作一个方法/函数,它可以在两种模式下工作:位模式或十六进制模式。 用户(程序员)应在传递值和模式参数时调用此方法。 我想将mode参数限制为“bin”或“hex”字符串。 当用户传递另一个不需要的值(如“dec”)时,是否可能生成编译器错误或警告(或预编译器错误) 可接受参数的示例: int decValueFromHex = convertToDec("111011","hex"); int decValueFromBin = convertToDec("111011","bin"
用户(程序员)应在传递值和模式参数时调用此方法。
我想将mode参数限制为“bin”或“hex”字符串。 当用户传递另一个不需要的值(如“dec”)时,是否可能生成编译器错误或警告(或预编译器错误) 可接受参数的示例:
int decValueFromHex = convertToDec("111011","hex");
int decValueFromBin = convertToDec("111011","bin");
下面的代码是不需要的,需要以某种方式生成一个错误。(最终汇编前)
不可以。不能对这样的参数应用规则。例如,这就是使用
enum
背后的全部要点
试试这个:
enum Mode
{
bin, hex
}
convertToDec("111011",Mode.hex);
不可以。不能对这样的参数应用规则。例如,这就是使用
enum
背后的全部要点
试试这个:
enum Mode
{
bin, hex
}
convertToDec("111011",Mode.hex);
不可以。不能对这样的参数应用规则。例如,这就是使用
enum
背后的全部要点
试试这个:
enum Mode
{
bin, hex
}
convertToDec("111011",Mode.hex);
不可以。不能对这样的参数应用规则。例如,这就是使用
enum
背后的全部要点
试试这个:
enum Mode
{
bin, hex
}
convertToDec("111011",Mode.hex);
这就是枚举的目的..这就是枚举的目的..这就是枚举的目的..这就是枚举的目的..+1告诉我,但用户仍然可以传递无效的value@SriramSakthivel:您的意思是第一个参数?…无效值,例如枚举值的整数,如
(模式)-1
。这就是为什么我们使用Enum.TryParse
…)谢谢你的解释。好吧,用户也可以调用错误的方法,甚至更糟。。使用php语法,想知道为什么他的代码没有在这么大的风险下编译+1击败我,但用户仍然可以通过无效value@SriramSakthivel:您的意思是第一个参数?…无效值,例如枚举值的整数,如(Mode)-1
。这就是我们使用enum.TryParse
。)谢谢你的解释。好吧,用户也可以调用错误的方法,甚至更糟。。使用php语法,想知道为什么他的代码没有在这么大的风险下编译+1击败我,但用户仍然可以通过无效value@SriramSakthivel:您的意思是第一个参数?…无效值,例如枚举值的整数,如(Mode)-1
。这就是我们使用enum.TryParse
。)谢谢你的解释。好吧,用户也可以调用错误的方法,甚至更糟。。使用php语法,想知道为什么他的代码没有在这么大的风险下编译+1击败我,但用户仍然可以通过无效value@SriramSakthivel:您的意思是第一个参数?…无效值,例如枚举值的整数,如(Mode)-1
。这就是我们使用enum.TryParse
。)谢谢你的解释。好吧,用户也可以调用错误的方法,甚至更糟。。使用php语法,想知道为什么他的代码没有在这么大的风险下编译!