Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 06.01.2015
Сообщений: 4
1

Как вернуть параметр атрибута из сборки .dll?

09.01.2015, 15:22. Показов 815. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!

У меня есть сборка с тестами .dll, некоторые тесты отмечены Nunit атрибутом [Category()]
C#
1
2
[Category("text")] 
public void test() {}
Мне нужно вернуть "text".

С помощью reflection удалось вернуть названия методов из сборки тестов, отмеченных категорией.
Я сделала это так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//load assembly.
            var assembly = Assembly.LoadFile(@"C:\repo\smatcat_tests\AbbyyLS.CAT.Function.Selenium.Tests\obj\Debug\AbbyyLS.CAT.Function.Selenium.Tests.dll");
            //get testfixture classes in assembly.
            var testTypes = from t in assembly.GetTypes()
                            let attributes = t.GetCustomAttributes(typeof(NUnit.Framework.TestFixtureAttribute), true)
                            where attributes != null && attributes.Length > 0
                            orderby t.Name
                            select t;
            foreach (var type in testTypes)
            {
                //get test method in class.
                var testMethods = from m in type.GetMethods()
                                  let attributes = m.GetCustomAttributes(typeof(NUnit.Framework.CategoryAttribute), true)
                                  where attributes != null && attributes.Length > 0
                                  orderby m.Name
                                  select m;
                foreach (var method in testMethods)
                {
                    //tests.Add(method.Name);
                    Console.WriteLine(method.Name);
                }
            }
Но мне нужно вернуть параметр из атрибута [Category("blabla")], то есть вернуть "blabla".
Подскажите пожалуйста , как это сделать?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.01.2015, 15:22
Ответы с готовыми решениями:

Как через invoke вернуть параметр метода
как через invoke вернуть параметр метода

Выполнить действия при запуске DLL-сборки. Как?
Всем доброго времени суток) Дело в том, что у меня есть dll-сборка, в которой очень хочется...

Вернуть прежнее значение атрибута
<!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <meta...

Как получить ссылку на класс Page из .dll сборки
Как можно получить ссылку на класс Page, использующий сборку .dll? Например, если из сборки надо...

2
Администратор
Эксперт .NET
17027 / 13379 / 5218
Регистрация: 17.03.2014
Сообщений: 27,369
Записей в блоге: 1
09.01.2015, 17:29 2
zxasqw, например так можно:
C#
1
2
3
4
5
6
7
8
9
10
var testMethods = from m in type.GetMethods()
                    let attributes = m.GetCustomAttributes(typeof(NUnit.Framework.CategoryAttribute), true)
                    where attributes != null && attributes.Length > 0
                    from ctgAttr in attributes.OfType<NUnit.Framework.CategoryAttribute>()
                    orderby m.Name
                    select new { MethodName = m.Name, CategoryName = ctgAttr.Name };
foreach (var method in testMethods)
{
    Console.WriteLine("{0} => {1}", method.MethodName, method.CategoryName);
}
1
0 / 0 / 0
Регистрация: 06.01.2015
Сообщений: 4
09.01.2015, 17:56  [ТС] 3
OwenGlendower , Большое спасибо!!!! помогло
0
09.01.2015, 17:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.01.2015, 17:56
Помогаю со студенческими работами здесь

Как указать путь из другого каталога для загрузки DLL сборки
Добрый день ☺ Вопрос. Представим, что есть программа run.exe. В рабочем каталоге есть подкаталоги...

Как передать параметр форме из DLL
Добрый! Имеется DLL, в ней кроме формы1 не чего нет. Есть программа1, которая должна вызвать...

Как вернуть переменные из dll обратно в программу?
Есть dll в которой процедура берет несколько целочисленных переменных и оперируя ими изменяет их,...

Как из c++ dll функции вернуть RGB\ARGB цвет?
Есть функция в ней есть переменная цвета типа COLORREF Подскажите, кто знает, каким образом можно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru