gpt4 book ai didi

c# - 有没有办法在c#中指定运行时的方法

转载 作者:太空宇宙 更新时间:2023-11-03 19:22:28 26 4
gpt4 key购买 nike

我有一个要调用的方法列表,名称为 Method1、Method2 等等。有没有办法我可以只输入那个数字然后调用等效的方法?代表是我想到的一件事。这行得通吗?

最佳答案

你可以使用反射:

MyClass myObj = ...;
var method = typeof(MyClass).GetMethod("Method"+num);
var res = method.Invoke(myObj, new object[] {arg1, arg2});

您还可以使用委托(delegate)字典:

var byNumber = new Dictionary<int,Func<MyClass,int>> {
{1, (c) => c.Method1()}
, {2, (c) => c.Method2()}
, {3, (c) => c.Method3()}
};

var res = byNumber[1](myObj);

关于c# - 有没有办法在c#中指定运行时的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11218223/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com