Как я могу передать буквальное значение переменной в действие? [дублировать]C#

Место общения программистов C#
Anonymous
Как я могу передать буквальное значение переменной в действие? [дублировать]

Сообщение Anonymous »

У меня есть действие внутри цикла: < /p>
int count = 0;
foreach(OMD i in settings)
{
if (i.type == OMDSetting.toggle) {
Components.Register(toggle, EventTriggerType.PointerClick, () => OnToggleUp(toggle, count));
y -= 60;
}
count++;
}
< /code>
И когда я получаю действие: < /p>
public static void OnToggleUp(GameObject toggle, int index)
{
OMD s = settings[index];
s.b = toggle.GetComponent().isOn;
settings[index] = s;
}
< /code>
Проблема в том, что переменная графа, которая отправляется с действием, никогда не дает правильного индекса. Он всегда посылает значение того, что есть, когда заканчивается цикл.
У C# есть способ обойти это?>

Подробнее здесь: https://stackoverflow.com/questions/791 ... -an-action

Вернуться в «C#»