2

ストアド プロシージャのパラメーターの型と戻り値の型を定義するために使用する次のインターフェイスを想定しています...

public interface IStoredProcedure<out TReturn, out TParameter>
    where TReturn : class 
    where TParameter : class
{
    TReturn ReturnType { get; }

    TParameter ParameterType { get; }
}

...このインターフェースをメソッドとして渡すことは可能TypeParameterですか? これに沿ったもの(コンパイルされません)

public static void DoAction<TProcedure>(TProcedure procedure1)
        where TProcedure : IStoredProcedure<TReturnType, TParameterType>
{
        // do some work
}

...またはこれらの線に沿った何か...

public static void DoAction<IStoredProcedure<TReturnType, TParameterType>>(IStoredProcedure procedure1)
        where TReturnType : class
        where TParameterType : class
{
        // do some work
}

これらの 2 つの方法はどちらもコンパイルされず、それらをコンパイルするための書き方がわかりません。メソッドではDoAction()、パラメーターの型と戻り値の型を調べる必要があります。

4

2 に答える 2