[英]Force a C# method to pass only positive parameters?
我想强制我的方法只接受一个整数参数,如果它是积极的 。 如果该方法传递一个负整数,它应该抛出编译时错误。 实现这一目标的最佳方法是什么?
目前我在方法中使用Math.Abs(Int)
,但我希望错误在编译时。
只需将参数ushort
uint
或ushort
。 这将防止编译时的负面输入。 它不会阻止0,但是...我假设你真的是在非负输入而不是严格正输入之后。
如果您的方法必须接受签名参数,那么:
Math.Abs
尝试“修复”无效输入要好得多。) 如果您使用异常方法,那么您还应该围绕调用方法的代码进行全面的单元测试 - 当然,该代码也应验证其输入。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.