Как мы можем использовать пользовательский атрибут для присвоения значения полю? - PullRequest
0 голосов
/ 07 июня 2018

Я очень новичок в C # и новичок в пользовательских атрибутах.

У меня есть два вопроса:

[FindsBy(How = How.xpath, Using = "//*[@id='test']")]
public IWebElement BTN_Position;
  1. С этим кодом как BTN_Positionполучить инициализацию?FindsBy возвращает какое-то значение и присваивает их полю?

  2. Я пишу пользовательский атрибут.Могу ли я сделать что-то вроде возврата значения в конце и присвоения полю?

Что-то вроде: Test Атрибуты принимают два позиционных параметра и что-то делают и return sa string объединение двух string с.Когда я использую код, как показано ниже, он должен быть присвоен FullName.

[TestAttribute("Firstname", "Lastname")]
public string FullName;

1 Ответ

0 голосов
/ 07 июня 2018

Атрибуты используются в качестве метаданных только .Это классы, поэтому они могут иметь функции и т. Д., Но эти функции не будут вызываться автоматически.Вы должны использовать отражение, чтобы получить экземпляр атрибута, и в этот момент вы можете вызывать эти функции.

Например, атрибут HttpPost из ASP.NET MVC на самом деле не do все, кроме данных об удержании.MVC отражает методы контроллера, ищущие этот атрибут, а затем регистрирует метод в маршрутизаторе в соответствии со значениями, объявленными в этом экземпляре атрибута.

...