我需要实现这个函数:
我可以将那行代码放在一个try-catch块中,或者使用其他方式执行该测试,这里是其中一种方法:
这个怎么做最有效?
protected override ValidationResult IsValid(
Object value,
ValidationContext validationContext
)
{
//Here is where I wanna test whether the following conversion is applicable
var x = Convert.ToInt64(value);
}
我可以将那行代码放在一个try-catch块中,或者使用其他方式执行该测试,这里是其中一种方法:
var convertible = value as IConvertible;
if (convertible != null)
var x = convertible.ToInt64(null);
这个怎么做最有效?
TryParse
返回一个布尔值,你传递的不是默认值,而是实际变量。 - BrokenGlassIConvertible
选项。这样更加简洁,而且将值转换为字符串根本没有意义。预期的值应该是一个数值类型(int、short、decimal 等),我想验证它不等于零。 - Shimmy Weitzhandler