Как создать расширяемую категорию в коде активности, используя C#. net? - PullRequest
0 голосов
/ 22 апреля 2020
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Activities;
using System.ComponentModel;

    namespace ClassMathCustomActivity
{
    public class SimpleFormula : CodeActivity
    {
        [Category("Input")]
        [RequiredArgument]
        public InArgument<double> FirstNumber { get; set; }

        [Category("Input")]
        public InArgument<double> SecondNumber { get; set; }

        [Category("Output")]
        public OutArgument<double> ResultNumber { get; set; }

        protected override void Execute(CodeActivityContext context)
        {
            var firstNumber = FirstNumber.Get(context);
            var secondNumber = SecondNumber.Get(context);
            var result = System.Math.Pow(firstNumber + secondNumber, 2);
            ResultNumber.Set(context, result);
        }
    }
}

Я хочу создать подкатегорию, которую можно расширять. Здесь у нас есть категория «Внешний вид», которая имеет много свойств, таких как BackColor Text и шрифт. Мой вопрос заключается в том, как добавить расширяемое свойство в категории, как шрифт. Свойства кнопки .

Ответы [ 2 ]

0 голосов
/ 23 апреля 2020

Спасибо. Но это не работает для меня. Я создал Eligibility свойство типа EligibilityDenialProcess класса, которые имеют несколько свойств имя пользователя, пароль и т. Д. c.

    Category("Input1")]
    [Description("Environment like Production or QA (Test)")]
    [RequiredArgument]
    public InArgument<EligibilityDenialProcess> Eligibility { get; set; }

И вывод не идет как расширяемое свойство. Я ожидаю, что во Input1 есть одно свойство Eligibility, которое можно расширять. Однажды я потрачу (пока кликаю на + знак). Я должен иметь возможность предоставить InArguments UserName и пароль.

Вывести то, что я получаю сейчас

0 голосов
/ 22 апреля 2020

Как насчет объекта как категории:

// custom defined:
public class Appearance
{
    public Color color;
    public Font font;
    // ...
}

// or defined by inheritance:
public class Appearance : Button
{
    // ...
}

[Category("Input")]
public InArgument<Appearance> appearance { get; set; }

Я создал класс Appearance, который содержит свойства. Возможно, вы захотите наследовать от Button класса, чтобы иметь те же свойства или определить свое собственное подмножество. Выберите один.

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