gpt4 book ai didi

C#:避免因未覆盖 ToString 而导致的错误

转载 作者:太空狗 更新时间:2023-10-29 20:49:54 24 4
gpt4 key购买 nike

我发现我的代码中经常出现以下错误,想知道是否有人知道一些好的策略来避免它。

想象一个这样的类:

public class Quote
{
public decimal InterestRate { get; set; }
}

有时我会创建一个使用利率的字符串,如下所示:

public string PrintQuote(Quote quote)
{
return "The interest rate is " + quote.InterestRate;
}

现在想象一下,稍后我将 InterestRate 属性从小数重构为它自己的类:

public class Quote
{
public InterestRate InterestRate { get; set; }
}

...但是说我忘记重写 InterestRate 类中的 ToString 方法。除非我仔细查看 InterestRate 属性的每个用法,否则我可能永远不会注意到它在某个时候被转换为字符串。编译器肯定不会接受它。我唯一的救世机会是通过集成测试。

下次我调用 PrintQuote 方法时,我会得到这样的字符串:

“利率为 Business.Finance.InterestRate”

哎呀。如何避免这种情况?

最佳答案

通过在 IntrestRate 类中创建 ToString 的覆盖。

关于C#:避免因未覆盖 ToString 而导致的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1056149/

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