gpt4 book ai didi

c# - 如何覆盖 TryParse?

转载 作者:太空狗 更新时间:2023-10-29 19:53:22 28 4
gpt4 key购买 nike

我想覆盖 boolTryParse 方法来接受"is"和“否”。我知道我想使用的方法(如下),但我不知道如何覆盖 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);
}
}

最佳答案

您不能覆盖静态方法。但是,您可以创建一个扩展方法。

public static bool TryParse(this string value, out bool result)
{
// For a case-insensitive compare, I recommend using
// "yes".Equals(value, StringComparison.OrdinalIgnoreCase);
if (value == "yes")
{
result = true;
return true;
}
if (value == "no")
{
result = false;
return true;
}

return bool.TryParse(value, out result);
}

把它放在一个静态类中,然后像这样调用你的代码:

string a = "yes";
bool isTrue;
bool canParse = a.TryParse(out isTrue);

关于c# - 如何覆盖 TryParse?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3023681/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com