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"); }
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)) ); }