我喜歡發送一個泛型類型轉換函數的方法,但我不知道如何去做。如何傳遞一個泛型類型參數的func?
這裏是無效的語法解釋什麼,我想實現,問題是我不知道怎麼跟我的FUNC一起指定泛型類型:
public void SomeUtility(Func<T><object,T> converter)
{
var myType = converter<MyType>("foo");
}
編輯(也看到評論我的討論勞倫斯):通過「通用型變頻器」我的意思是我想的,可以轉換到任何強力型<牛逼>(不是對象)轉換器來傳遞,所以在我的方法中的下一行可能是:
var myOtherType = converter<MyOtherType>("foo");
我喜歡p的代表屁股作爲參數會是這個樣子:
private delegate TOutput myConverterDelegate<TOutput>(object objectToConvert);
這更多的是一種語法/ C#的探索,現在,把事情做好,我可能會用一個接口代替,但我希望這是可能的一個實現FUNC /委託。
事實上,你在方法體內指定了一個類型是重要的嗎?您是否暗示此方法可能需要針對多種類型進行轉換,而不是調用方定義的一種特定類型? –
是的,這是我試圖表達爲「泛型類型轉換器」,所以下一行可能會變成myOtherType = converter(「foo」); –
joeriks
好的 - 那麼我認爲你會發現我的答案有用:) –