struct tS : IDsposable{
int[]arr;
public tS(){
arr = new int[1000000];
handle =GCHandle.Alloc(reg,GCHandleType.Pinned);
}
}
class Test{ Ts*ts;
unsafe public Test(ref tS t)
{
/// можно ли как-то без fixed
fixed(TestStruct*ptrT = &t){
tS = ptrT;
}
}}
//...............
Test tt = new Test( ref tStruct); //
// fun запускает там бессмысленные вычисления и вызывает сборки мусора(но и без сборок мусора те же ошибки), которая работает с tS.arr в какой момент tS.arr становится равным нулю?
for(int i=0;i<1000;i++)
fun( tt)
return;
// fun - локальная функция в конце метода.
//(может в ней все дело, исправил на обычную, и там уже другие ошибки)
void fun(){.... }
В чем дело. Почему в откладке все работает, без откладки ошибка сразу же.
И не знаю где, в смысле знаю, но когда. Почему поле
в Test.tS.arr == null в какой-то момент почему?
Но самый главный вопрос, почему в откладке я не ловлю ошибку