Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Тапок ярости
8 / 8 / 4
Регистрация: 11.02.2017
Сообщений: 99
Завершенные тесты: 1
1

Не возвращает метод

26.07.2017, 23:12. Просмотров 209. Ответов 6

Добрый день

почему метод GetMethods() ничего не возвращает ?

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
class A
    {
        public int X { get; set; }
 
        public virtual void Meth()
        {
            Console.WriteLine("Базовый метод");
        }
    }
 
    class B : A
    {
        public int Y { get; set; }
 
        public override void Meth()
        {
            Console.WriteLine("Переопределенный метод");
        }
 
        public int test(int a)
        {
            return a + 10;
        }
    }
 
class Program
    {
        static void Main(string[] args)
        {
            B b = new B();
            Type t = typeof(B);
            MethodInfo[] m = t.GetMethods(BindingFlags.Public);
 
            foreach (MethodInfo mt in m)
            {
                Console.WriteLine(mt.ReturnType.Name + " " + mt.Name);
            }
 
            Console.ReadKey();
        }
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.07.2017, 23:12
Ответы с готовыми решениями:

Метод не возвращает коллекцию List
Доброе время суток. Помогите пожалуйста. Проблема метод не возвращает...

Разработать метод, который возвращает массив
делать по такому принципу public uint Deliteli(uint a, out sbyte kol) ...

Метод который возвращает имя своего класса.
Подскажите как реализовать метод, который будет возвращать имя своего класса,...

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

Метод возвращает неправильно расстояние от отрезка до точки
В частности при A(-30;0), B(30;0), K(60;30) правильный ответ 42,4264068711929....

6
Fleder
245 / 208 / 106
Регистрация: 09.12.2015
Сообщений: 631
26.07.2017, 23:22 2
Цитата Сообщение от Тапок ярости Посмотреть сообщение
почему метод GetMethods() ничего не возвращает ?
Нужно больше флагов!
C#
1
MethodInfo[] m = t.GetMethods(BindingFlags.Public | BindingFlags.Instance);
0
Someone007
2241 / 1805 / 827
Регистрация: 09.05.2015
Сообщений: 4,456
Завершенные тесты: 1
26.07.2017, 23:25 3
C#
1
MethodInfo[] m = t.GetMethods(BindingFlags.Public | BindingFlags.Instance);
0
Fleder
245 / 208 / 106
Регистрация: 09.12.2015
Сообщений: 631
26.07.2017, 23:27 4
Или так, если нужны статические методы:
C#
1
MethodInfo[] m = t.GetMethods(BindingFlags.Public | BindingFlags.Static);
0
OwenGlendower
Супер-модератор
Эксперт .NET
9341 / 8193 / 3498
Регистрация: 17.03.2014
Сообщений: 16,268
Записей в блоге: 1
26.07.2017, 23:28 5
Тапок ярости, нужно добавить флаг BindingFlags.Instance в вызове GetMethods
C#
1
MethodInfo[] m = t.GetMethods(BindingFlags.Public | BindingFlags.Instance);
Еще возможно ты захочешь отфильтровать get_/set_ методы сгенерированные для свойств.
C#
1
2
3
MethodInfo[] m = t.GetMethods(BindingFlags.Public | BindingFlags.Instance)
    .Where(mi => !mi.IsSpecialName)
    .ToArray();
0
Тапок ярости
8 / 8 / 4
Регистрация: 11.02.2017
Сообщений: 99
Завершенные тесты: 1
26.07.2017, 23:30  [ТС] 6
а можно на пальцах объяснить ? если я вызываю открытые методы, то разве
C#
1
 public int test(int a)
не попадает под это условие ?
0
OwenGlendower
Супер-модератор
Эксперт .NET
9341 / 8193 / 3498
Регистрация: 17.03.2014
Сообщений: 16,268
Записей в блоге: 1
26.07.2017, 23:36 7
Тапок ярости, попадает только частично. Необходимо еще указать какие методы тебя интересуют - экземплярные (Instance), статические (Static) или те и другие.

Добавлено через 4 минуты
Цитата из документации:
You must specify either BindingFlags.Instance or BindingFlags.Static in order to get a return.
0
26.07.2017, 23:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.07.2017, 23:36

Разработать метод, который возвращает двумерный массив
Дано целое число N. Разработать метод, который возвращает двумерный массив,...

Не могу создать метод который возвращает значения массива
Хочу создать метод где указываю сколько цифр Фибоначчи нужно возвратить в виде...

Метод который из массива возвращает массив чисел кратных 3, 5, и 8
Необходимо написать метод который из массива возвращает массив чисел кратных 3,...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru