English 中文(简体)
使用属性来避免无效的输入参数。
原标题:
  • 时间:2009-02-19 04:52:18
  •  标签:

我有一个以整数为输入的方法。

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.





相关问题
热门标签