我有一个以整数为输入的方法。
public void GetMonth(int Month) { }
现在当我调用这个方法时,我希望确保编译器在有人输入不在1-12之间的数字时会生成错误消息。
例如
obj.GetMonth(14)——这里应该会出错并且无法编译。
这是可能的吗?
我有一个以整数为输入的方法。
public void GetMonth(int Month) { }
现在当我调用这个方法时,我希望确保编译器在有人输入不在1-12之间的数字时会生成错误消息。
例如
obj.GetMonth(14)——这里应该会出错并且无法编译。
这是可能的吗?
这将成为4.0版本的一个功能,由于代码契约允许您精确声明,感谢开发契约。但现在还没有。您需要在运行时拥有验证代码:
if(month < 1 || month > 12) throw new ArgumentOutOfRangeException("month");
Maybe by using Microsoft.Build.Utilities.Task but it sounds like hard tasks.
This class can help to generate build time errors.
But the really hard part, is to make code analysis to decide when you need to stop the build.