Нам нужно было бы увидеть ваш код, но я бы сказал, что «небезопасная» часть не имеет отношения к ошибкам, поскольку, похоже, это проблемы с приведением типа и тому подобное.
Вот некоторая информация, котораяможет помочь:
- Оператор '*' нельзя применить к операндам типа 'System.IntPtr' и 'int'
Попробуйте сначала привести к int или long.
- Значение константы '325486741' не может быть преобразовано в 'int' (используйте синтаксис unchecked для переопределения)
Попробуйте использовать переменную unchecked ((int)).
- Невозможно преобразовать тип 'string' в 'char *'
Попробуйте использовать:
fixed (char* pChar = my_string) { ... }
- Невозможно неявно преобразовать тип 'long'в' байт * '.Существует явное преобразование (вам не хватает приведения?)
Попробуйте преобразовать: byte * pB = (byte *) значение;
- Недопустимый термин выражения 'ref'
Я не могу много сказать об этом без кода.