* Removed text async * Updated code * Added main as proxy tasktags/3.0.0
@@ -80,15 +80,11 @@ recommended for these operations to be awaited in a | |||||
properly established async context whenever possible. | properly established async context whenever possible. | ||||
To establish an async context, we will be creating an async main method | To establish an async context, we will be creating an async main method | ||||
in your console application, and rewriting the static main method to | |||||
invoke the new async main. | |||||
in your console application. | |||||
[!code-csharp[Async Context](samples/first-bot/async-context.cs)] | [!code-csharp[Async Context](samples/first-bot/async-context.cs)] | ||||
As a result of this, your program will now start and immediately | |||||
jump into an async context. This allows us to create a connection | |||||
to Discord later on without having to worry about setting up the | |||||
correct async implementation. | |||||
As a result of this, your program will now start into an async context. | |||||
> [!WARNING] | > [!WARNING] | ||||
> If your application throws any exceptions within an async context, | > If your application throws any exceptions within an async context, | ||||
@@ -1,7 +1,6 @@ | |||||
public class Program | public class Program | ||||
{ | { | ||||
public static void Main(string[] args) | |||||
=> new Program().MainAsync().GetAwaiter().GetResult(); | |||||
public static Task Main(string[] args) => new Program().MainAsync(); | |||||
public async Task MainAsync() | public async Task MainAsync() | ||||
{ | { | ||||
@@ -2,8 +2,7 @@ public class Program | |||||
{ | { | ||||
private DiscordSocketClient _client; | private DiscordSocketClient _client; | ||||
public static void Main(string[] args) | |||||
=> new Program().MainAsync().GetAwaiter().GetResult(); | |||||
public static Task Main(string[] args) => new Program().MainAsync(); | |||||
public async Task MainAsync() | public async Task MainAsync() | ||||
{ | { | ||||
@@ -10,11 +10,11 @@ using Discord.WebSocket; | |||||
class Program | class Program | ||||
{ | { | ||||
// Program entry point | // Program entry point | ||||
static void Main(string[] args) | |||||
static Task Main(string[] args) | |||||
{ | { | ||||
// Call the Program constructor, followed by the | // Call the Program constructor, followed by the | ||||
// MainAsync method and wait until it finishes (which should be never). | // MainAsync method and wait until it finishes (which should be never). | ||||
new Program().MainAsync().GetAwaiter().GetResult(); | |||||
return new Program().MainAsync(); | |||||
} | } | ||||
private readonly DiscordSocketClient _client; | private readonly DiscordSocketClient _client; | ||||