На ваш взгляд, лучше ли вернуть вновь выделенный поток памяти из функции или передать ее в функцию? Например,Возвращаемый поток памяти из функции
void Foo(MemoryStream m)
{
m.Write(somebuffer, 0, somebuffer.Length);
}
или
void MemoryStream Foo()
{
MemoryStream retval = new MemoryStream();
retval.Write(somebuffer, 0, somebuffer.Length);
return retval;
}
Здесь есть много хороших ответов, но ни один из них не объясняет, почему VS 2010 дает предупреждение о надежности CA2000 для второй формы. Вы не можете очень хорошо распоряжаться объектом, который собираетесь направить, и избавиться от него после его возврата, кажется неудобным. Заставляет меня думать, что первая форма предпочтительнее. –