static void Main(string[] args) { DortIslem dortIslem = new DortIslem(2, 3); Console.WriteLine(dortIslem.Topla(5, 6)); // -> parametre olarak aldığı değerler ile çalışıyor Console.WriteLine(dortIslem.Topla2()); // -> constructor daki değerler ile çalışıyor var tip = typeof(DortIslem); // -> benim çalışacağım bir tip var ve bu DortIslem'dir dedik. DortIslem dortIslem2 = (DortIslem)Activator.CreateInstance(tip, 8, 9); // -> 8,9 diyerek constructor parametrelerini verdik //tip.GetType().GetMethod("Topla2").Invoke(tip,null); // -> GetMethod ile istediğimiz methoda ulaşırız, Invoke diyerek o methodu çalıştırırız. var metodlar = tip.GetMethods(); // methodları metodlar diye bir listede topladık foreach (var item in metodlar) { Console.WriteLine("Metod Adı : {0}", item.Name); foreach (var parametre in item.GetParameters()) // her item nesnesinin Parametresi için { Console.WriteLine("Parametre = {0}", parametre.Name); } foreach (var attribute in item.GetCustomAttributes()) { Console.WriteLine("Attribute Name : {0}", attribute.GetType().Name); } } Console.ReadLine(); }
static void Main(string[] args) { //DortIslem dortIslem = new DortIslem(2, 3); //Console.WriteLine(dortIslem.Topla2()); //Console.WriteLine(dortIslem.Topla(3, 4)); var tip = typeof(DortIslem); //Parametre olarak verilen nesnenin tipini belirler. DortIslem dortIslem = (DortIslem)Activator.CreateInstance(tip, 6, 7); // Parametrede verilen tipte bir nesne oluşturur. Console.WriteLine(dortIslem.Topla(4, 5)); Console.WriteLine(dortIslem.Topla2()); var instance = Activator.CreateInstance(tip, 7, 8); MethodInfo methodInfo = instance.GetType().GetMethod("Topla2"); // instance oluşturulup ile belirtilen metotun bilgisi alındı. Console.WriteLine(methodInfo.Invoke(instance, null)); Console.WriteLine("-------------------------------------------"); var metodlar = tip.GetMethods(); foreach (var info in metodlar) // belirtilen tipin tüm metotları çağırıldı. { Console.WriteLine("Metotlar : " + info.Name); // çağırılan metotların isimleri listelendi. foreach (var parametre in info.GetParameters()) { Console.WriteLine("Parametreler : " + parametre.Name); // listelenen metotların parametrelerinin isimlerini listeler. } foreach (var attiribute in info.GetCustomAttributes()) { Console.WriteLine("Attribute Name : " + attiribute.GetType().Name);//metotların attiributeleri listelenir. } } Console.ReadLine(); }