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();
        }
Exemplo n.º 2
0
        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();
        }