如何覆盖 TryParse?
我想重写 bool
的 TryParse
方法来接受“是”和“否”。我知道我想使用的方法(如下),但我不知道如何覆盖 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);
}
}
I would like to override bool
's TryParse
method to accept "yes" and "no." I know the method I want to use (below) but I don't know how to override bool
's method.
... 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);
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
您无法重写静态方法。但是,您可以创建一个扩展方法。
将其放入静态类中,然后像这样调用您的代码:
You can't override a static method. You could however create an extension method.
Put this in a static class, and call your code like this:
TryParse
是一个静态方法。您无法重写静态方法。TryParse
is a static method. You can't override a static method.TryParse
是静态方法,您无法覆盖静态方法。您始终可以尝试为字符串创建一个扩展方法来执行您想要的操作:
TryParse
is a static method and you can't override static methods.You could always try to create an extension method for strings to do what you want:
您无法覆盖
TryParse
。但是,为了方便起见,您可以在string
上创建扩展方法。然后它会像这样使用:
You cannot override
TryParse
. However, you could create an extension method onstring
for convenience.And then it would be used like so:
这是不可能的。
This is not possible.