의견에서 새로 할당 된 메모리 스트림을 함수에서 반환하거나 함수로 전달하는 것이 더 좋습니까? 예를 들어,함수에서 메모리 스트림 반환하기
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 안정성 경고를 제공하는 이유는 모두 다룹니다. 반환하려는 객체를 잘 처리 할 수 없으며, 반환 된 객체를 처리하는 것은 어색한 것으로 보입니다. 첫 번째 양식이 더 바람직하다고 생각하게 만듭니다. –