如何在不破坏析构函数的情况下从Extension方法返回Stream?

时间:2016-05-23 23:37:47

标签: c# serialization bytearray extension-methods protobuf-net

我想将byte[]转换为流,并将此功能作为Extension方法,因为我需要执行数百次。

using(MemoryStream m = new MemoryStream()) {
    ProtoBuf.Serializer.Serialize(m, fiveHundredBytesHere);
    m.Seek(0, 0);
}

从重复操作中清除代码的正确方法是什么?

1 个答案:

答案 0 :(得分:3)

“如何在不破坏析构函数的情况下从Extension方法返回Stream?”

您可以在使用不会破坏析构函数的流的方法中创建回调,也可以省略using语句并返回流并将其置于调用代码中。