Я разрабатываю игру-симулятор, в которой у меня есть несколько условных методов в различных классах, которые я хочу использовать для случайных внутриигровых событий.
Моя цель - создать удобный для пользователя класс событий, в который пользователи смогут добавлять события с помощью XML-сериализации (эта часть хороша). Поэтому я стараюсь сделать вещи максимально простыми и общими. Я получил несколько условных методов в различных классах, таких как
public class Person
{
static bool IsOlderThan(int age) {/*...*/}
}
public class Faction
{
static bool HasRelationMoreThan(Faction faction,float value) {/*...*/}
}
и так далее ...
Я должен определить параметр Func <> или другой делегат, который может принимать эти методы с разным набором параметров вместо определения отдельного поля для каждого из них. TL; DR: мне нужен тип делегата, который принимает любой метод в качестве значения.
Есть ли способ создать гибкую, общую ссылку на метод, подобную этой?