Объект не имеет значения - PullRequest
2 голосов
/ 09 ноября 2011

Извините за заголовок этого поста, но я не знаю, как описать мою проблему.

Итак, у меня есть следующий действительно простой код:

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 ]

3 голосов
/ 09 ноября 2011

Вы в сборке релиза?Если FileCount не используется где-то еще, переменная может быть оптимизирована компилятором.Попробуйте сделать это в Debug build.Также это может быть вызвано несоответствием файлов pdb.Очистите все ваши выходные директории и перекомпилируйте приложение.

0 голосов
/ 09 ноября 2011

Оптимизировано, как мне кажется, инициализация, безусловно, бессмысленна

int FileCount = obj.SomeMethod ();

Поскольку это динамично, все виды магии компилятора могут избежать ошибок, осмелюсь сказать этоодин сводится ко всему коду, который скрыт за кулисами, чтобы иметь дело с динамическим obj.

...