Это то, что мне нужно сделать, чтобы создать гибкую логическую структуру, которая мне нужна для класса.
Класс такой:
public class myclass {
public Action myaction;
public int actionparams;
public string label;
public void myactionfunction() {
//do void parameter action
}
public void myactionfunction(int myparam) {
//do one parameter action
}
public void myactionfunction(int myparam, int myparam2) {
//do two parameter action
}
}
Что ж, проблема, с которой я сталкиваюсь, заключается в том, что я буду использовать этот класс, где «myaction» может произвольно не требовать ни одного, или целых шести параметров. Поскольку «Action» необходимо определить для каждого параметра, который он должен поддерживать, я, безусловно, мог бы определить столько «myactions», для которых я ожидаю параметры, но это не было бы идеально, так как мне нужно было бы там жестко связывать типы параметров.
Я надеюсь, что есть способ, которым я мог бы "просто" переназначить тип моей операции, чтобы каким-то образом я мог сделать что-то вроде
myaction.type = Action<string,int,int>; //i know this looks bad, but should give the idea
Я читал об объявлениях делегатов, но не могу понять, есть ли способ использовать их для моих целей.
Спасибо.