Итак, давайте предположим, что у вас есть массив атрибутов свойств, найденных в данном методе. Вы получили их с помощью отражения, указав тип PropertyAttribute
, чтобы вы знали, что это то, что они есть, хотя массив Attribute[]
.
Так что вам нужно найти все атрибуты (или первый атрибут, если вы просто хотите 1) со свойством Name
«Test», а также со значением, присвоенным этому свойству.
[Кстати, «Test» кажется мне довольно дурным именем, поскольку в NUnit так много вещей, которые называются «Test» и ваш собственный тестовый код, вероятно, также. Но мы останемся с этим именем для примера.]
Вам нужно сделать что-то вроде этого ...
for each (PropertyAttribute attr in attrs) // attrs filled by you already
{
if (attr.Name == "Test")
testValue = attr.Value;
// Process the value as you want. If there's just one and this is in
// a function call, you can return it. If you are doing something else,
// do it here and then `break` to exit the loop
}
Вы можете сделать это с меньшим количеством кода, используя System.Linq
, но Я думаю, что l oop поможет вам более ясно увидеть, что нужно сделать.