AttributeProviderAttribute работают и механика перенаправления атрибутов в C # - PullRequest
2 голосов

Привет всем и всем!Английский не мой родной язык.Я прошу прощения за любые ошибки.

Я решил использовать AttributeProviderAttribute, чтобы уменьшить количество повторений в коде.Но я не понимаю, как проверить: перенаправление атрибута работает или нет?И как обрабатываются противоречия между их собственными атрибутами и перенаправленными атрибутами?

//using namespaces
using System.ComponentModel;
using System.Reflection;

//Test Classes Foo, Bar:

public class Foo {
    [DisplayName(nameof(Astring) + "Name")]
    public string Astring { get; set; }
}

public class Bar {
    [AttributeProvider(nameof(Foo), nameof(Foo.Astring))]
    public string Bstring { get; set; }
}

// Code for checking attributes:
PropertyInfo bStrProp = typeof(Bar).GetProperty(nameof(Bar.Bstring));

Вопросы:

  1. Отладчик не отображает атрибут DisplayNameAttribute для Bar.Bstring.Как узнать, работает ли перенаправление атрибутов?
  2. Как обрабатываются противоречия между собственными атрибутами и перенаправлением из другого свойства?

    a.Приоритет собственных атрибутов.

    b.Приоритет импортированных атрибутов.

    c.Приоритетные последние атрибуты.

    d.Генерируется исключение.

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