Я в основном ищу способ передачи экземпляров по программам / процессам без сериализации экземпляров в .NET 4.0.
Да, мне не хватает моих хороших старых на 100% небезопасных указателей;)
Я думал, что новая интеграция файлов, отображаемых в память, в .NET 4.0 поможет мне, прочитав где-нибудь, что вы можете передавать ссылки / указатели "изначально", используя его.
Однако, когда я пытаюсь что-то вроде
var mmf = MemoryMappedFile.CreateFromFile(@"C:\temp\test.mp", FileMode.Create, "mmf",
1024*1024*300,
MemoryMappedFileAccess.ReadWrite);
var ss = new SimpleStruct();
ss.items = _items; //Collection of Items objects
var FileMapView = mmf.CreateViewAccessor();
FileMapView.Write<SimpleStruct>(0, ref ss); //Exception
Я получаю следующее ArgumentException:
The specified Type must be a struct containing no references.
Можно ли передавать ссылки, используя MMF? Если это не так, есть ли способ вообще передавать экземпляры программам / процессам?