Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Reflection объяснить коды

88K
23 сентября 2013 года
Мохаммед Рашид
2 / / 23.09.2013
Код:
class MyTestClass
    {      
        static public void PrintMethods(string className)
        {
           
            try
            {
                Type classType = Type.GetType(className);

                var methodNames =
                    from methodInfo in classType.GetMethods()
                    where methodInfo.GetParameters().Any(parameterInfo => parameterInfo.ParameterType == typeof(string))
                    select methodInfo.Name;

                foreach (var method in methodNames)
                    Console.WriteLine(method);

            }
            catch (Exception)
            {
           
            }

        }

        static public void CallStaticMethod(string className, string methodName)
        {
            try
            {
                using (StreamReader reader = new StreamReader(@"data.txt"))
                {
                    Type.GetType(className).GetMethod(methodName, BindingFlags.Static | BindingFlags.Public).Invoke(null, new string[] { reader.ReadToEnd() });
                }
            }
            catch(Exception)
            {
           
            }
        }
    }
414
23 сентября 2013 года
CassandraDied
763 / / 24.05.2012
Ух ты, прямо как в наших лабораторных, когда я учился.
Первая функция печатает на экран все методы класса, которые принимают аргументом строку.
Вторая вызовет метод класса, который имеет спецификатор static и public, передав параметрами строки из файла data.txt. Имя метода задаётся аргументом функции для класса, заданного аргументом функции.
Столько лет прошло, а до сих пор помню. :)
88K
23 сентября 2013 года
Мохаммед Рашид
2 / / 23.09.2013
Цитата: CassandraDied
Ух ты, прямо как в наших лабораторных, когда я учился.
Первая функция печатает на экран все методы класса, которые принимают аргументом строку.
Вторая вызовет метод класса, который имеет спецификатор static и public, передав параметрами строки из файла data.txt. Имя метода задаётся аргументом функции для класса, заданного аргументом функции.
Столько лет прошло, а до сих пор помню. :)


как обьяснит Any(parameterInfo => parameterInfo.ParameterType == typeof(string)) по
C#

414
23 сентября 2013 года
CassandraDied
763 / / 24.05.2012
Это расширение для какого-то интерфейса, который реализует класс Array, либо для самого этого класса, которое по заданному предикату находит значение в массиве.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог