Редактор правил Codeeffect позволяет выбрать только одно действие, хотя есть несколько действий для выбора - PullRequest
3 голосов
/ 30 апреля 2020

У меня есть требования использовать редактор правил codeeffect для нашей функции. У нас есть динамические c действия для визуализации в редакторе правил, из которых пользователь может выбирать.

Итак, для этого я создал редактор правил, используя тип FlexSource. Я попытался настроить действия в редакторе правил, добавив FlexMethodInfo для каждого действия и настроив ActionAttributes для каждого из них. например, действия: «SetAmount», «SetPercentage» и «SetQuantity».

Он успешно отображает редактор и предоставляет три вышеупомянутых варианта на выбор. Но какой бы вариант я ни выбрал, он выбирает только «SetAmount» и показывает это в редакторе правил.

Screenshot 1

Screenshot 2

Screenshot 3

Screenshot 4

Screenshot 5

1 Ответ

1 голос
/ 08 мая 2020

Идея FlexSource заключается в создании подкласса System.Type, чтобы Editor мог продолжать использовать отражение для перечисления методов, свойств, полей и т. Д. c.

Для этого существует минимальное количество классов. и методы, которые должны быть реализованы. Демонстрация Flex показывает, какие это.

Однако в текущей версии отсутствует переопределение для FlexMethodInfo.ToString ().

Пожалуйста, добавьте следующее в ваш класс FlexMethodInfo. Настройте возвращаемые значения, чтобы они отражали ваши действительные методы и их подписи. Редактор использует ToString () для построения хэшей и сопоставления методов. Он следует тому же логу c, что и MethodInfo.ToString ().

public override string ToString()
{
    switch (methodName)
    {
        case "Concatenate":
            return "System.String Concatenate(System.String, System.String)";
        case "Register":
            return "Register()";
        case "Confirm":
            return "Confirm(System.String)";
        default:
            return base.ToString();
    }
}

Убедитесь, что вы получили последние пакеты NuGet для редактора и движка. Я считаю, что они выпустили обновление, которое касается некоторых случаев использования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...