Как я получаю свойство, принадлежащее пользовательскому атрибуту?

Если вы используете Atata и .Net Core, см. Эту страницу: https://atata.io/getting-started/#dot-net-core-configuration

 AtataContext.Configure()
                .UseChrome()
                .WithFixOfCommandExecutionDelay()
                .WithLocalDriverPath()
                .UseCulture("en-us")
                .Build();

Вот строки, которые вы хотите убедиться:

.UseChrome()
.WithFixOfCommandExecutionDelay()
.WithLocalDriverPath()

10
задан Adrian Grigore 27 May 2009 в 17:01
поделиться

2 ответа

Сам атрибут ничего не знает об объекте, который был им украшен. Но вы можете ввести эту информацию во время извлечения атрибута.
В какой-то момент вам нужно получить свойство, используя код, подобный следующему.

PropertyInfo propertyInfo = typeof(MyType).GetProperty("MyProperty");

Object[] attribute = propertyInfo.GetCustomAttributes(typeof(MyAttribute), true);

if (attribute.Length > 0)
{
    MyAttribute myAttribute = (MyAttribute) attributes[0];

    // Inject the type of the property.
    myAttribute.PropertyType = propertyInfo.PropertyType;

    // Or inject the complete property info.
    myAttribute.PropertyInfo = propertyInfo;
}
17
ответ дан 3 December 2019 в 18:35
поделиться

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

4
ответ дан 3 December 2019 в 18:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: