2
是這種方式強制C#使用返回類型推斷一個非常糟糕的做法?C#返回類型推斷不好的做法?
所以我有一個這樣的接口:
public interface IQueryHandlerRunner
{
TResult RunHandler<TQuery, TResult>(TQuery query)
where TQuery : IQuery;
}
我用它是這樣的:
_queryHandlerRunner.RunHandler<GiveMeAllPreferedCustomersQuery, PreferedCustomersDto[]>(
new GiveMeAllPreferedCustomersQuery());
但我希望能夠使用的返回類型推斷,但我知道,能不能做到....
那麼它實際上可以,所以我創建了這樣一個過載:
TResult RunHandler<TQuery, TResult>(TQuery query, TResult result)
where TQuery : IQuery;
我用它是這樣的:
_queryHandlerRunner.RunHandler(new GiveMeAllPreferedCustomersQuery(), default(PreferedCustomersDto[]));
感覺更乾淨的做法,但在同一時間,感覺髒笑像一聞
你覺得
我不t喜歡這樣一個事實,即我在API中引入返回類型作爲參數,但對我的api的調用看起來更好,更易於閱讀
我在這裏瘋了嗎?或者我應該立即停止吸菸......我很困惑
http://blog.slaks.net/2010/12/partial-type-inference-in-net.html – SLaks
偉大的博客,Schabse。 – Brian
如果你這樣做,因爲你實際上想要指定一個默認的返回值,那就沒問題。如果你只是這樣做,所以你不必輸入那些'<括號,參數>',那麼它不是真的(主觀上,無論如何)。 – valverij