Using has virtually the same syntax in VB as C#, assuming you’re using .NET 2.0 or later (which implies the VB.NET v8 compiler or later). Basically, just remove the braces and add a “End Using”
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
You can get the full documentation here
EDIT
If you’re using VS2003 or earlier you’ll need the below code. The using statement was not introduced until VS 2005, .NET 2.0 (reference). Thanks Chris!. The following is equivalent to the using statement.
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