docs: use async main
* Removed text async * Updated code * Added main as proxy task
This commit is contained in:
@@ -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
|
in your console application.
|
||||||
invoke the new async main.
|
|
||||||
|
|
||||||
[!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
|
As a result of this, your program will now start into an async context.
|
||||||
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.
|
|
||||||
|
|
||||||
> [!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)
|
public static Task Main(string[] args) => new Program().MainAsync();
|
||||||
=> new Program().MainAsync().GetAwaiter().GetResult();
|
|
||||||
|
|
||||||
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)
|
public static Task Main(string[] args) => new Program().MainAsync();
|
||||||
=> new Program().MainAsync().GetAwaiter().GetResult();
|
|
||||||
|
|
||||||
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;
|
||||||
|
|||||||
Reference in New Issue
Block a user