很遗憾,在我们(传统)代码库中,有一个类的属性类型为
object
,可以是int
或long
。
尝试像这样将其转换为长整型:
long id = (long) dBLockTabellenOptionen.Id;
我得到以下异常:
异常:DoOneWorkRound中的错误:
指定的强制转换无效。指定的强制转换无效。->指定的强制转换无效。
--- 异常列表 ---
System.InvalidCastException: 指定的强制转换无效。
如何安全地将其转换为long
而不会出现异常?
免责声明:我知道这个属性很糟糕,但此时重构它太过麻烦,因为这个应用程序很快就会被重写,届时我们会做得更好。
if (dBLockTabellenOptionen.Id is long)
。 - Cid