假設我有一個帶有.Start()方法的對象。 我想通過在控制檯中鍵入方法來調用方法,就像這個「object.Start()」,它應該調用.Start()方法。用字符串對象調用方法
0
A
回答
1
class Program
{
static void Main(string[] args)
{
var obj = new object(); // Replace here with your object
// Parse the method name to call
var command = Console.ReadLine();
var methodName = command.Substring(command.LastIndexOf('.')+1).Replace("(", "").Replace(")", "");
// Use reflection to get the Method
var type = obj.GetType();
var methodInfo = type.GetMethod(methodName);
// Invoke the method here
methodInfo.Invoke(obj, null);
}
}
+0
我可以使用參數嗎? –
+0
是的,在methodInfo.Invoke()而不是爲第二個參數傳遞'null',您可以傳遞方法參數的對象數組。所以如果你想通過「ABC」和123,你可以用methodInfo.Invoke(obj,new object [] {「ABC」,123})來調用它。 – Mangist
+0
啊謝謝。和obj中的「obj.GetType();」是包含該方法的對象嗎? –
相關問題
- 1. 如何使用字符串調用對象的方法?
- 2. 將JavaScript字符串轉換爲對象方法並調用它?
- 3. 從C++中的類指針對象調用方法(字符串)
- 4. 調用對象的方法,該方法的名字只有字符串
- 5. 調用使用字符串的方法
- 6. 用字符串調用php方法
- 7. 不可調用的字符串對象
- 8. 調用每個字符串對象
- 9. 視爲字符串對象方法
- 10. C++從字符串調用方法
- 11. 通過字符串調用方法?
- 12. Angularjs +字符串調用方法
- 13. 基於字符串的調用方法
- 14. 由字符串調用的jQuery方法?
- 15. 調用方法不返回字符串
- 16. 按字符串調用方法
- 17. 來自字符串的調用方法
- 18. 基於字符串調用方法
- 19. 與字符串參數重載方法不會被調用,與對象參數調用該方法,而不是
- 20. 調用方法對象
- 21. 對象的調用方法
- 22. 調用對象 - 方法
- 23. 將字符串轉換爲「方法」 - 用於類方法調用
- 24. 從調用的對象調用方法
- 25. 如何使用對象方法連接字符串?
- 26. 爲什麼配置方法不適用於字符串對象?
- 27. 將字符串轉換爲對象的通用方法
- 28. 使用方法將JSON字符串轉換爲對象
- 29. 如何使用字符串作爲對象方法?
- 30. 對象使用的equals()的字符串方法
什麼問題? – Kinetic
他問如何調用他輸入到控制檯的對象的方法。所以如果我輸入「object.Run()」,它會調用他的對象的Run方法。 – Mangist