2013-07-11 135 views
-4

美好的一天,C#擴展通用方法

有沒有辦法擴展泛型方法? 例如

我有這樣的方法:

public T DoSomethingAboutIt<T>() 
{ 
//do magic 
} 

我想做的是具有延長的方法 如:

private static T Extended<T, L>(this T o, Func<T, L> func) 
{ 
    return default(T); 
} 

這是擴展是可能的嗎?

編輯: 我想這樣稱呼它什麼DoSomethingAboutIt()擴展...

+0

當然,這是可能的。你怎麼了? –

+0

真的不知道你在問什麼。我認爲這是可能的。你有沒有嘗試過,並得到一個錯誤或什麼? – Tim

+0

嗯,我當然試過了,就是不行。我想知道如何去做。你能把我轉到哪裏我可以開始的地方嗎? – Weazel

回答

0

這是可能的,但你還是要遵循Extension Methods (MSDN)規則。

此代碼編譯就好了......

internal class Program 
{ 
    private static void Main(string[] args) 
    { 
     int y = 1; 
     int z = y.Extended(n => "hi!"); 
    } 
} 

public static class X 
{ 
    public static T Extended<T, L>(this T o, Func<T, L> func) 
    { 
     return default(T); 
    } 
} 
+0

是的,這確實有效,謝謝。我想我已經很累了...我的感激之情 – Weazel