-1
如何打開下面的方法到與任何引用類型工作的通用方法:如何創建一個適用於任何引用類型的方法?
public string CheckNull(string value, string defaultvalue)
{
return (value == null) ? defaultvalue : value;
}
如何打開下面的方法到與任何引用類型工作的通用方法:如何創建一個適用於任何引用類型的方法?
public string CheckNull(string value, string defaultvalue)
{
return (value == null) ? defaultvalue : value;
}
您可以使用類似:
public T CheckNull<T> (T value, T defaultValue)
where T : class
{
return value ?? defaultValue;
}
雖然,它通常是有意義的只是使用null-coalescing operator直接而不是用方法包裝它。
編輯
關於你的評論,你正在編寫更多的代碼來做到這一點是建立在框架已經不錯了。
public void Foo (Bar bar)
{
var myBaz = bar.Baz ?? new Baz();
}
這將做同樣的事情,所有這些額外的代碼,我有以上:
public void Foo (Bar bar)
{
var myBaz = CheckNull (bar.Baz, new Baz());
}
更多打字不歸路。
尋找Null Coalescing Operator而不是通用函數。
爲什麼你需要?調用者可以使用'someValue? defaultValue' - 內置。 –
我可以使用什麼C#運算符,使得該方法不必要? – CyberTramp
@CyberTramp看看我的答案,和RV1987的。它是空合併運算符。 –