コード例 #1
0
        public static void TypeInfo()
        {
            EXforRef obj = new EXforRef();
            Type     t   = obj.GetType();

            Console.ForegroundColor = ConsoleColor.Blue;
            Console.WriteLine("\nКонструкторы:");
            Console.ResetColor();
            foreach (var x in t.GetConstructors())
            {
                Console.WriteLine(x);
            }

            Console.ForegroundColor = ConsoleColor.Blue;
            Console.WriteLine("\nМетоды:");
            Console.ResetColor();
            foreach (var x in t.GetMethods())
            {
                Console.WriteLine(x);
            }

            Console.ForegroundColor = ConsoleColor.Blue;
            Console.WriteLine("\nСвойства:");
            Console.ResetColor();
            foreach (var x in t.GetProperties())
            {
                Console.WriteLine(x);
            }
        }
コード例 #2
0
        /// <summary>
        /// Пример использования метода InvokeMember
        /// </summary>
        static void InvokeMemberInfo()
        {
            Type t = typeof(EXforRef);

            Console.ForegroundColor = ConsoleColor.Blue;
            Console.WriteLine("\nВызов метода:");
            Console.ResetColor();

            //Создание объект через рефлексию
            EXforRef fi = (EXforRef)t.InvokeMember(null, BindingFlags.CreateInstance, null, null, new object[] { });

            //Параметры вызова метода
            object[] parameters = new object[] { 3, 2 };
            //Вызов метода
            object Result = t.InvokeMember("Plus", BindingFlags.InvokeMethod, null, fi, parameters);

            Console.WriteLine("Plus(3,2)={0}", Result);
        }