Я использую стороннюю сетевую библиотеку, и для отправки сетевого сообщения мне нужно создать новый экземпляр класса NetworkMessage
.Это неэффективно, потому что приложение должно работать очень быстро и отправлять много сообщений, поэтому я ищу способ избежать динамического выделения памяти для каждого сообщения.
Если NetworkMessage
былструктура тогда у нас не было бы проблемы.Также я не могу сохранить несколько предварительно созданных NetworkMessage
экземпляров, потому что аргументы сообщения могут быть переданы только в конструкторе, и они не могут быть изменены позже.Я не могу ничего изменить в классе NetworkMessage
, так как он является сторонним.
Есть ли способ создать пул памяти в C #, а затем использовать нечто подобное оператору размещения new из C ++ для создания объектов из этогобассейн?(Я знаю, что нет нового оператора размещения в C #).Я ищу способ инициализации блока памяти, а затем использовать куски этой памяти для создания экземпляров класса NetworkMessage
из этого.