假設下面的界面,我使用來定義參數類型和用於存儲過程返回類型...使用通用接口作爲typeparameter爲方法或函數
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
}
沒有這兩種方法的編譯,我只是不能工作了如何編寫它們以使其編譯。在DoAction()
方法中,我需要intergate參數的類型和返回類型。
我不確定這個編譯。它不應該是'DoAction'? –
@Charles:對不起,是的。重點是參數,並沒有發現類型參數問題。固定。 –
是的,現在的作品謝謝你,並回答alsow什麼是我的下一個問題是如何使該方法成爲一個函數返回一個TReturnType的列表,但現在所有的作品現在這樣.. public list的getAction (IStoredProcedure 程序1) 其中TReturnType:類 其中TParameterType:類 {// 做一些工作 返回新的List (); } –
Dib