Здравствуйте, имеется метод Main, который на вход получает список и строку, необходимо исходя из значения строки формировать имя метода и вызывать его, передовая этот список и строку. Решил для данной задачи воспользоваться рефлексией, но выдает ошибку в строке VariableNames = Finder.Invoke(this, new object[] { TextFromFile, FromLanguage });
Пишет что невозможно преобразовать тип object в ArrayList, не понимаю, где у меня ошибка. Заранее благодарен.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Reflection;
namespace VariableFinder
{
public class Finder : MonoBehaviour
{
public ArrayList Main(ArrayList TextFromFile, string FromLanguage)
{
ArrayList VariableNames;
string MethodName = "Finder" + FromLanguage.ToUpper();
MethodInfo Finder = this.GetType().GetMethod(MethodName);
VariableNames = Finder.Invoke(this, new object[] { TextFromFile, FromLanguage });
return VariableNames;
}
//Методы поиска имен переменных
public ArrayList FinderPYTHON(ArrayList TextFromFile, string FromLanguage)
{
ArrayList VariableNames = new ArrayList();
VariableNames.Add("one");
return VariableNames;
}
}
}