如何編寫一個可以將Nullable對象用作擴展方法的泛型方法。我想添加一個XElement到一個父元素,但只有當要使用的值不爲null時。爲空的<T> C#中的泛型方法?
例如
public static XElement AddOptionalElement<T>(this XElement parentElement, string childname, T childValue){
...
code to check if value is null
add element to parent here if not null
...
}
如果我使這AddOptionalElement<T?>(...)
然後我得到編譯器錯誤。 如果我使這AddOptionalElement<Nullable<T>>(...)
然後我得到編譯器錯誤。
有沒有一種方法可以實現這個目標?
我知道我可以讓我的調用方法:
parent.AddOptionalElement<MyType?>(...)
但是這是唯一的辦法?
類型「T」必須是一個非空值類型,以便用它作爲參數「T」在通用類型或方法「System.Nullable」 –
BlueChippy
2010-12-20 11:00:43
它仍然會有編譯器錯誤,因爲我們需要指出T需要是不可空的。 – 2010-12-20 11:01:45
@BlueChippy:正如您評論的那樣正在解決這個問題! – LukeH 2010-12-20 11:02:06