我正在使用第三方网络库,并且为了发送网络消息,我需要创建一个新的 NetworkMessage
类实例。这是效率很低的,因为应用程序需要非常快速地运行,并且有很多消息传递,所以我正在寻找一种避免为每个消息动态分配内存的方法。
如果 NetworkMessage
是一个结构体,则我们不会有问题。但是,我不能存储预先创建的 NetworkMessage
实例,因为消息参数只能在构造函数中传递,并且后续不能更改。由于这是一个第三方类,因此我无法更改 NetworkMessage
类中的任何内容。
有没有办法在 C# 中创建内存池,然后使用类似于 C ++ 的 placement new 运算符从该池中创建对象?(我知道 C# 中没有 placement new 运算符)。我正在寻找一种初始化内存块,然后使用该内存块的块来创建 NetworkMessage
类实例的方法。
NetworkMessage
看起来像什么?它是sealed
的吗? - svick