根据变量的值调用方法

我有 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

 }  

谢谢


人到中年有点甜
浏览 128回答 1
1回答

红糖糍粑

你可以通过反思来做到这一点。编辑快速示例(忘记调用参数)。关于反射的一些提示:如果出现 nullException 则意味着找不到该方法您调用的方法需要公开如果您使用混淆,您的方法可能不会具有相同的名称代码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");    }}
打开App,查看更多内容
随时随地看视频慕课网APP