2009-08-26 66 views
2

我有一個擴展方法擴展方法:對象的值類型

public static string ToDelimenatedString(this object[] array, string delaminator) {...} 

的擴展應用到引用類型而不是值類型。我認爲這是因爲對象是可空的。我如何將上述方法寫入目標值類型,甚至可以不寫出每種值類型?

乾杯,

豐富

+1

你是否正在分離,分層或分隔你的字符串? :P – grenade 2009-08-26 10:18:13

+0

我似乎無法讓我記起來。 :) – kim3er 2009-08-26 10:25:20

回答

3

應該可以正常使用泛型: -

public static string ToDelimitedString<T>(this T[] array, string delimiter) 

僅供參考,你可以[但可能不會想]幾乎做逆約束該不工作的價值類型說:

public static string ToDelimitedString<T>(this T[] array, string delimiter) 
    where T:class 

順便說一句,你可能也wan t來支持IEnumerable,可能像這樣的過載: -

public static string ToDelimitedString<T>(this IEnumerable<T> items, string delimiter) 
{ 
    return string.Join(delimiter, items.Select(item=>item.ToString()).ToArray()); 
} 
+0

我必須有一個不好的早晨,仿製藥甚至沒有發生在我身上。謝謝你的幫助。 – kim3er 2009-08-26 10:20:18

+0

NP,很樂意提供幫助 – 2009-08-26 10:28:24