Обычно делаю так
structMy* s= ( structMy*)NativeMemory.Alloc(sizeof(structMy));
Но такой метод не позволяет через конструктор инициализировать? В общем он устраивает. но может есть и другие способы.
Еще обычно, если вот поле
s находиться порой в структуре то структуре наверняка будет
IDisposable, и будет в using блоке
using(Wrapper w=new Wrapper()){ // Wrapper - структура
method(ref w); // ERROR сразу показывает
}
И вот так сразу ошибка, а делать без using блока не так красиво.
Второй вариант, сразу делать класс, и тогда еще и класс нужно фиксировать в памяти.
Но GCHandle.Alloc типа там сборщик мусора замедляет, а можно ли как-то создать объект в неуправляемой памяти, что бы он там и лежал, и GC не замедлял.
Какие есть рекомендации.