gpt4 book ai didi

c# - 如何调试对象初始化代码?

转载 作者:IT王子 更新时间:2023-10-29 04:05:08 27 4
gpt4 key购买 nike

有没有办法在 Visual Studio 中逐步调试对象初始化代码?

示例:

return new Veranstaltung()
{
ID = tblVeranstaltung.VeranstaltungsID,
Titel = tblVeranstaltung.Titel,
KursNummer = tblVeranstaltung.Kursnummer,
ErsterTermin = tblVeranstaltung.ersterTermin,
Dauer = tblVeranstaltung.schulungsTage,
StartZeit = tblVeranstaltung.BeginnZeit,
EndZeit = tblVeranstaltung.Endzeit,
KostenNettoValue = tblVeranstaltung.PreisNetto ?? default(decimal),
IsLastMinute = tblVeranstaltung.lastMinute == 1,
IsVerkuerzt = tblVeranstaltung.istVerkuerzt == 1,
IsGeschlossen = tblVeranstaltung.istGeschlosseneVeranstaltung == 1,
IsIntern = tblVeranstaltung.istInterneVeranstaltung == 1,
StandortID = Convert.ToInt32(tblVeranstaltung.StandortID),
LastMinuteRabatt = tblVeranstaltung.lastMinuteRabatt ?? default(decimal)
};

有时我在这种代码中遇到错误(例如,当转换为 int 失败时)并且 VS 似乎无法单步执行它,它只是为整行抛出错误,我必须尝试哪一个初始化失败。

是否有一种简单的方法来调试它,或者最好避免使用对象初始化器进行大型或复杂的初始化?

我正在使用 VS 2010 和 C# 4.0。

最佳答案

应该保留对象初始值设定项以用于简单的对象初始化。如果您的对象构造函数的代码可能会失败(例如抛出异常),请不要使用它。最好依靠对象构造模式,根据您的需要,它可能是工厂方法、抽象工厂等...这也确保你的类的所有用户不能构建一个处于无效状态的实例(例如,他们忘记初始化一个成员,或者他们用不正确的值初始化相关成员,等等......)

关于c# - 如何调试对象初始化代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5489408/

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