C# 2.0 以降の新機能を一つづつ確認していきます。
以前に一度行ったのですが、公式ドキュメント再編でリンク切れしているところを見つけてしまったので。今ならもっと簡潔なサンプルが欠けるところもあるだろうし、せっかくなので今もう一度確認して行きます。
delegate ジェネリック型の制約
https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/generics/constraints-on-type-parameters#delegate-constraints
ジェネリックの型パラメータの制約で delegate を制約できる。
// C# のバージョンを低く設定すると // エラー CS8320 機能 'delegate ジェネリック型の制約' は C# X では使用できません。7.3 以上の言語バージョンをお使いください。 unsafe static System.Delegate Method<T>(T arg) where T : System.Delegate => arg;