Я работаю с основой рабочего процесса, и у меня есть база CodeActivity
, которая является суперклассом для всей моей деятельности.
Я добавляю Category
в качестве «входных» или «выходных» свойств, чтобы облегчить работу тех, кто использует действия. Пример:
public class MyActivity : MyBaseActivity
{
[Category("Input")]
public InArgument<string> User { get; set; }
[Category("Input")]
public InArgument<int> Department { get; set; }
[Category("Output")]
public OutArgument<string> Supervisor { get; set; }
// ...
}
Все мои InArgument будут иметь в качестве входных данных категорию, а также OutArguments.
Есть способ сделать это без записи [Category("Input")]
в каждое свойство?
Я пробовал унаследованную версию InArgument:
[Category("Input")]
public sealed class ActivityInput<T> : InArgument<T> { }
Но InArgument
- это sealed
, поэтому это невозможно.