cor*_*ore 17 c# string argument-validation
我不知道有多少次我不得不编写代码来验证字符串参数:
public RoomName(string name)
{
if (string.IsNullOrEmpty(name))
{
throw new ArgumentException("Cannot be empty", "name");
}
}
Run Code Online (Sandbox Code Playgroud)
反正有没有避免这个?是否有一些属性或设计合同机制来避免这种情况?有没有办法说:
public RoomName(NotNullOrEmptyString name)
{
Run Code Online (Sandbox Code Playgroud)
而不必实际创建该类型?
您可以通过代码注入属性来实现.
保存一些编码时间,但仍然给你很多控制的另一种选择是使用像CuttingEdge.Conditions这样的东西.这为参数检查提供了流畅的接口,因此您可以编写:
name.Requires().IsNotNull();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8365 次 |
| 最近记录: |