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

Я пытаюсь определить CustomAttribute с уровнем класса, и я хотел бы, чтобы этот атрибут был распространен на все свойства класса.

[AttributeUsage(AttributeTargets.Class | AttributeTargets.Property)]
public class MyCustomAttribute : Attribute
{
}

[MyCustom]
public class MyClass
{
    public int A { get; set; }
    public int B { get; set; }
    public int C { get; set; }
}

Я бы хотел, чтобы свойства A, B и C также имели назначенный атрибут MyCustomAttribute.Я знаю, что могу определить атрибут для каждого свойства.Но я хочу определить Атрибут на уровне класса.

Возможно ли это?

1 Ответ

0 голосов
/ 27 сентября 2018

Это невозможно, но в зависимости от того, как вы используете пользовательский атрибут, вы можете проверить класс, который определяет свойство, IE

public static bool IsDefinedOnPropertyOrClass(PropertyInfo info, Type attributeType)
{
  return info.IsDefined(attributeType) || info.DeclaringType.IsDefined(attributeType);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...