我很抱歉这篇文章的标题,但我不知道如何描述我的问题。
所以,我有以下非常简单的代码:
dynamic obj = new myClass(); // In my case it is a COM object
int FileCount = 0;
FileCount = obj.SomeMethod();
但是在运行时我得到这样的东西:
那是怎么回事?为什么不是Filecount = 0
?为什么它是空的?
答案 0 :(得分:3)
您是否处于发布版本中?如果FileCount未在其他地方使用,则变量可能会被编译器优化掉。尝试在Debug构建中执行此操作。这也可能是由pdb文件不匹配引起的。清理所有输出目录并重新编译应用程序。
答案 1 :(得分:0)
优化我应该认为,初始化肯定是没有意义的
int FileCount = obj.SomeMethod();
因为它是动态的,所以各种各样的编译器魔法都可以逃避错误,但是这一点可以归结为所有在幕后被动的代码来处理动态的obj。