mirror of https://github.com/icsharpcode/ILSpy.git
4 changed files with 67 additions and 3 deletions
@ -0,0 +1,60 @@
@@ -0,0 +1,60 @@
|
||||
using System; |
||||
using System.Runtime.InteropServices; |
||||
using System.Threading.Tasks; |
||||
|
||||
namespace ICSharpCode.Decompiler.Tests.TestCases.Pretty |
||||
{ |
||||
internal class AsyncUsing |
||||
{ |
||||
internal class AsyncDisposableClass : IAsyncDisposable |
||||
{ |
||||
public ValueTask DisposeAsync() |
||||
{ |
||||
throw new NotImplementedException(); |
||||
} |
||||
} |
||||
|
||||
[StructLayout(LayoutKind.Sequential, Size = 1)] |
||||
internal struct AsyncDisposableStruct : IAsyncDisposable |
||||
{ |
||||
public ValueTask DisposeAsync() |
||||
{ |
||||
throw new NotImplementedException(); |
||||
} |
||||
} |
||||
|
||||
public static async void TestAsyncUsing(IAsyncDisposable disposable) |
||||
{ |
||||
await using (disposable) { |
||||
Console.WriteLine("Hello"); |
||||
} |
||||
} |
||||
|
||||
public static async void TestAsyncUsingClass() |
||||
{ |
||||
await using (AsyncDisposableClass test = new AsyncDisposableClass()) { |
||||
Use(test); |
||||
} |
||||
} |
||||
|
||||
public static async void TestAsyncUsingStruct() |
||||
{ |
||||
await using (AsyncDisposableStruct asyncDisposableStruct = default(AsyncDisposableStruct)) { |
||||
Use(asyncDisposableStruct); |
||||
} |
||||
} |
||||
|
||||
public static async void TestAsyncUsingNullableStruct() |
||||
{ |
||||
await using (AsyncDisposableStruct? asyncDisposableStruct = new AsyncDisposableStruct?(default(AsyncDisposableStruct))) { |
||||
Use(asyncDisposableStruct); |
||||
} |
||||
} |
||||
|
||||
private static void Use(IAsyncDisposable test) |
||||
{ |
||||
throw new NotImplementedException(); |
||||
} |
||||
|
||||
} |
||||
} |
Loading…
Reference in new issue