我想要覆盖bool
的TryParse
方法,以接受“yes”和“no”。 我知道我要使用的方法(如下所示),但我不知道如何覆盖bool
的方法。
... bool TryParse(string value, out bool result)
{
if (value == "yes")
{
result = true;
return true;
}
else if (value == "no")
{
result = false;
return true;
}
else
{
return bool.TryParse(value, result);
}
}
Nullable<>
类型,如果字符串无法解析,则返回null
。这样可以避免使用输出参数,并且使调用语法更加简洁。 例如:bool a = "blah".ParseBool() ?? false;
- GregTryParse
这个名字的确足够了。 - GregSystem.String
)上创建一个扩展方法没有任何意义,一个简单的静态方法已经足够了。让人不安的是似乎其他人也有同样的想法,过度使用扩展方法在不合适的地方似乎成了一种持续存在的迷恋。 - Aaronaught