回答
您必須爲此使用泛型。例如,
protected T Test<T>(T parameter)
{
}
在這個例子中,「<T>
」告訴它代表一個類型的名稱編譯器,但你不知道這是在創造這個函數的上下文是什麼。
protected int Test(string p) { ... }
protected string Test(DateTime p) { .... }
然後,你需要使用泛型。
protected T Test(T type) {
return type;
}
事實上,假設你有一組已知的參數和返回類型,它可以用簡單的重載處理不是一種動態語言。要在C#中解決這個問題,您可以稍後返回一個通用對象和類型轉換爲任何您認爲值應該是 - 不建議。你也可以返回一個接口,這樣你並不真正在意某個特定的類實例。正如其他人指出的,你也可以使用泛型。這真的取決於你在函數體內需要/想要做什麼,因爲上面的所有方法都有其自身的侷限性。
這裏的問題是如果調用者在調用之前不知道類型。例如,只有一個字符串或int不是兩個都有效。 – rolls 2017-06-23 05:00:32
@rolls - 當然他有。他將某種類型的變量(或常量)傳遞給該方法。他將返回值放入某種類型的變量中。他顯然希望在不同類型的不同地方使用相同的方法。 – 2017-06-23 19:59:41
C#:那麼你最終調用它像...
int foo;
int bar = Test<int>(foo);
雖然接受的答案是好的,它已經兩年多,因爲它是書面的,所以,我要補充一點,你可以使用:
protected dynamic methodname(dynamic input)
{
return input;
}
輸入將返回爲同一類型,和你不需要將該方法作爲通用方法調用。
- 1. 動態確定不同類的函數返回類型?
- 2. C#,動態返回類型
- 3. 返回動態類型
- 4. Java動態返回類型?
- 5. 推導其參數的返回類型函數返回類型
- 6. VB.NET - 從函數返回動態類值
- 7. Java的泛型返回動態類型
- 8. 動態更改函數的返回類型
- 9. Infere函數返回類型
- 10. PgAdmin函數返回類型
- 11. 函數返回類型decission
- 12. typedefing函數返回類型
- 13. 函數返回類型
- 14. 讓函數返回類型
- 15. 如何通過「自動」返回類型函數的值返回
- 16. 返回函數的函數的返回類型
- 17. 抽象函數有動態返回類型 - C#
- 18. 動態返回類型 - Java泛型
- 19. 返回類型的回調函數
- 20. 在函數中動態創建或設置函數的返回類型
- 21. C++類函數的返回類型定義,返回一個類
- 22. 作爲返回類型的動態
- 23. .NET的動態返回類型方法
- 24. 流動型:返回類型的函數(K)=> OBJ [k]的
- 25. 函數的返回類型的需要
- 26. Python類型暗示函數返回類
- 27. C# - 函數的返回類型與參數的返回類型相同
- 28. 動態返回類型與PEP 484
- 29. 方法返回動態類型列表
- 30. Java /返回動態對象類型
@Shiko,其實如果你看的時間戳,這次來到亞當的答案之前。 – uchamp 2016-12-08 19:39:23
@uchamp我的不好,我會刪除我的評論 – Shiko 2016-12-09 01:52:14