将对象转换为long

xer*_*him 2 .net c# casting

不幸的是,在我们的(遗留)代码库中,有一个类的属性具有类型object,可以是a int或a long.

当试图把它投射到像这样的长时间:

long id = (long) dBLockTabellenOptionen.Id;

我得到以下异常:

例外:DoOneWorkRound中的Fehler:
指定的强制转换无效.指定演员表无效. - >指定的强制转换无效.
--- Exception Liste ---
System.InvalidCastException:指定的强制转换无效.

如何在long没有异常的情况下将其保存为一个?

免责声明:我知道,这个属性是一个很大的气味,但此时,它的重构将是太多,因为这个应用程序将很快被重写,我们将立即做到这一点

use*_*505 6

long id = Convert.ToInt64(dBlockTabellenOptionen.Id); 应该做的伎俩.