通常エントリポイントはクラス(VBではモジュールの場合もある)に持たせることが多く、このようにすることは稀ですが、構造体にエントリポイントをもたせることもできます。
構造体に非同期のエントリポイントを持たせる C# 7.1
using System;
using System.Threading.Tasks;
// Mainメソッドを持つ型として構造体を用いる
struct Sample {
static async Task Main()
{
await Console.Out.WriteLineAsync("Hello, world!");
}
}