对象没有价值

时间:2011-11-09 13:31:27

标签: c# .net dynamic null int

我很抱歉这篇文章的标题,但我不知道如何描述我的问题。

所以,我有以下非常简单的代码:

dynamic obj = new myClass(); // In my case it is a COM object
int FileCount = 0;
FileCount = obj.SomeMethod();

但是在运行时我得到这样的东西: enter image description here

那是怎么回事?为什么不是Filecount = 0?为什么它是空的?

2 个答案:

答案 0 :(得分:3)

您是否处于发布版本中?如果FileCount未在其他地方使用,则变量可能会被编译器优化掉。尝试在Debug构建中执行此操作。这也可能是由pdb文件不匹配引起的。清理所有输出目录并重新编译应用程序。

答案 1 :(得分:0)

优化我应该认为,初始化肯定是没有意义的

int FileCount = obj.SomeMethod();

因为它是动态的,所以各种各样的编译器魔法都可以逃避错误,但是这一点可以归结为所有在幕后被动的代码来处理动态的obj。