例如:
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();
}
你能告诉我更多关于使用
的信息吗?
编辑:
正如在 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
你可以在这里得到完整的文档
编辑
如果您使用的是 VS2003 或更早版本,则需要以下代码。直到 VS 2005,.NET 2.0 ( reference ) 才引入 using 语句。谢谢克里斯!以下等同于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
关于c# - "Using"语句如何从 C# 转换为 VB?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/887831/