例如:
BitmapImage bitmap = new BitmapImage();
byte[] buffer = GetHugeByteArray(); // from some external source
using (MemoryStream stream = new MemoryStream(buffer, false))
{
bitmap.BeginInit();
bitmap.CacheOption = BitmapCacheOption.OnLoad;
bitmap.StreamSource = stream;
bitmap.EndInit();
bitmap.Freeze();
}
你能告诉我更多关于using
?
Edit:
正如 JaredPar 帖子的评论中所讨论的,这个问题更关心的是Using
在VS2003中。有人指出Using
直到 .NET 2.0 (VS2005) 才引入。 JaredPar 发布了等效的解决方法。
假设您使用的是 .NET 2.0 或更高版本(这意味着 VB.NET v8 编译器或更高版本),则使用在 VB 中的语法实际上与 C# 相同。基本上,只需删除大括号并添加“结束使用”
Dim bitmap as New BitmapImage()
Dim buffer As Byte() = GetHugeByteArrayFromExternalSource()
Using stream As New MemoryStream(buffer, false)
bitmap.BeginInit()
bitmap.CacheOption = BitmapCacheOption.OnLoad
bitmap.StreamSource = stream
bitmap.EndInit()
bitmap.Freeze()
End Using
您可以在此处获取完整文档
- http://msdn.microsoft.com/en-us/library/htd05whh(VS.80).aspx http://msdn.microsoft.com/en-us/library/htd05whh(VS.80).aspx
EDIT
如果您使用的是 VS2003 或更早版本,您将需要以下代码。 using语句直到VS 2005,.NET 2.0才被引入(参考 http://en.wikipedia.org/wiki/Visual_Basic_2005#Visual_Basic_2005_.28VB_8.0.29)。谢谢克里斯!以下相当于 using 语句。
Dim bitmap as New BitmapImage()
Dim buffer As Byte() = GetHugeByteArrayFromExternalSource()
Dim stream As New MemoryStream(buffer, false)
Try
bitmap.BeginInit()
bitmap.CacheOption = BitmapCacheOption.OnLoad
bitmap.StreamSource = stream
bitmap.EndInit()
bitmap.Freeze()
Finally
DirectCast(stream, IDisposable).Dispose()
End Try
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)