mirror of https://github.com/icsharpcode/ILSpy.git
4 changed files with 67 additions and 3 deletions
@ -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