Добавить атрибут ко всем свойствам класса и его потомкам - PullRequest
0 голосов
/ 16 ноября 2018

Я работаю с основой рабочего процесса, и у меня есть база 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, поэтому это невозможно.

...