我有一個方法:當所需的參數爲空時,如何在泛型方法中不指定類型參數?
public HttpRequestMessage CreateRequest<T>(T genericObject = default(T))
{
...
if (!Equals(genericObject, default(T)))
...
}
我可以把它叫做:
var request = CreateRequest<int>();
看到,因爲我不實際使用的默認類型(我想它在默認情況下設置爲null)當我調用方法時,如何停止將泛型類型定義爲int(或者其他類型)?
編輯 問題是,我通常需要指定一個類型並使用參數。但有時我不需要使用參數,我希望它被設置爲空或零,而不是在上面的示例中寫入類似'int'的隨機類型。
這真的不清楚你的意思 - 對編譯器的需求*一些*指示什麼'T'應該是... –
'null'不是一種類型。您需要指定您希望方法返回的內容,或者寫出一些具有某種返回類型的非泛型方法。 – Romoku