コード例 #1
0
ファイル: Program.cs プロジェクト: dlnwlkmn/bcit-labs
        static void InvokeMemberInformation()
        {
            Type t = typeof(ForResearch);

            ColorfulPrint("\nВызываем метод: ", "Green");

            //Создание объекта
            ForResearch fi = (ForResearch)t.InvokeMember(null, BindingFlags.CreateInstance, null, null, new object[] { });

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

            ColorfulPrint("Умножить (3,2) = " + Result, "Yellow");
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: dlnwlkmn/bcit-labs
        static void TypeInformation()
        {
            ForResearch obj = new ForResearch();
            Type        t   = obj.GetType();

            ColorfulPrint("Информация о типе: ", "Green");
            Console.WriteLine("Тип " + t.FullName + " унаследован от " + t.BaseType.FullName);
            Console.WriteLine("Пространство имен " + t.Namespace);
            Console.WriteLine("Распологается в сборке " + t.AssemblyQualifiedName);

            ColorfulPrint("\nКонструкторы: ", "Green");
            foreach (var x in t.GetConstructors())
            {
                Console.WriteLine(x);
            }

            ColorfulPrint("\nМетоды: ", "Green");
            foreach (var x in t.GetMethods())
            {
                Console.WriteLine(x);
            }

            ColorfulPrint("\nСвойства: ", "Green");
            foreach (var x in t.GetProperties())
            {
                Console.WriteLine(x);
            }

            ColorfulPrint("\nПоля данных (публичные): ", "Green");
            foreach (var x in t.GetFields())
            {
                Console.WriteLine(x);
            }

            Console.WriteLine("\nForResearch реализует IComparable -> " +
                              t.GetInterfaces().Contains(typeof(IComparable))
                              );
        }