「元の型を取得する」という意味がまったく明確ではありませんが、ジェネリックで型を使用する場合は、通常、リフレクションを使用する必要があります。例えば:
var methodDefinition = container.GetType().GetMethod("Resolve");
var constructedMethod = methodDefinition.MakeGenericMethod(method);
object myObject = constructedMethod.Invoke(container, null);
変数の型は、myObject有用な場合にのみ使用できます。変数objectの型は、コンパイル時に既知である必要があります (ただし、一般的なものである可能性があります)。C# 4 および .NET 4+ を使用dynamicしている場合は、代替として使用できる可能性があります。後で何をしようとしているかによって異なります。
同じ型引数で複数のリフレクション呼び出しを行う必要がある場合は、ロジックを新しいジェネリック メソッドに抽出することを検討してください。その後、リフレクションを1 回使用してそのメソッドを呼び出し、メソッド内で通常のジェネリックを使用できます。