代码是:
using (MemoryStream memorystream = new MemoryStream(bytes))
{
using (BinaryWriter writer = new BinaryWriter(memorystream))
{
writer.Write((double)100.0);
}
return memorystream.ToArray();
}
上面的代码不适合正确处理这两个对象吗?
代码分析有用吗?除了关于变量名称和命名空间的垃圾信息之外,它似乎抱怨了很多不现实的事情。我真的在想也许它很有用,我只是错过了重点。
可以解决 MemoryStream 是否被处理(不是)的问题,这是一个示例,其中 VS 代码分析给了我完全相同的警告。显然这里什么都没有处理
public class MyClass : IDisposable
{
public void DoSomethingElse()
{
}
#region IDisposable Members
public void Dispose()
{
throw new NotImplementedException();
}
#endregion
}
public class MyOtherClass : IDisposable
{
public MyOtherClass(MyClass mc)
{
}
public void DoSomething() { }
}
public void Foo()
{
using (MyClass mc = new MyClass())
{
using (MyOtherClass otherclass = new MyOtherClass(mc))
{
otherclass.DoSomething();
}
mc.DoSomethingElse();
}
}