我有1000个方法,分别称为method0001,method0002,...,method1000。 我有一个值在1到1000之间的变量。
如果变量的值为x,我想调用methodx。例如,如果变量的值为34,我想调用method0034。我该如何用C#编写代码?
许多人都在问Methodwxyz需要什么。每种方法都是不同类型的数学问题。
我已经按照有帮助的评论进行了此操作,但是却出现了错误(已编辑了前面的问题)
using System.Collections.Generic;
using UnityEngine;
public class TextControl : MonoBehaviour
{
public static TextControl instance;
void Start()
{
instance = this;
}
// Update is called once per frame
void Update()
{
this.GetType().GetMethod("Template00" + "1").Invoke(this, null);
}
public static string Templates001()
{
// doing something here
}
}
谢谢
答案 0 :(得分:1)
您可以通过反思来做到这一点。编辑快速样本(忘记调用参数)。有关反射的一些提示:
代码
public class Program
{
public static void Main(string[] args)
{
Check method1 = new Check(1);
Check method2 = new Check(2);
}
}
public class Check
{
public Check(int x)
{
this.GetType().GetMethod("Method" + x).Invoke(this, null);
}
public void Method1()
{
Console.WriteLine("Method 1");
}
public void Method2()
{
Console.WriteLine("Method 2");
}
}