|
namespace DinamikMethodCagirmaTest
{
using System;
using System.Windows.Forms;
public partial class FrmMain : Form
{
// Constructor(yapici prosedür)
public FrmMain()
{
InitializeComponent();
}
//Prosedür
public void deneme1()
{
MessageBox.Show("Selam");
}
//Fonksiyon
public int deneme2(int x,int y)
{
return x + y;
}
// Dinamik Olarak Çagiriyoruz
private void btnCagir_Click(object sender, EventArgs e)
{
// Bu nesnenin tipini tip degiskenine ata
Type tip = this.GetType();
// Prosedürü çagirma (1. Yöntem)
tip.GetMethod("deneme1").Invoke(this, new object[] { });
// Prosedürü çagirma (2.Yöntem)
tip.GetMethod("deneme1").Invoke(this, null);
//Bir fonksiyonu çagirma
MessageBox.Show(tip.GetMethod("deneme2").Invoke(this, new object[] { 5, 4 }).ToString());
}
// Normal Olarak Çagiriyoruz
private void btnNormalCagir_Click(object sender, EventArgs e)
{
this.deneme1();
MessageBox.Show(deneme2(5, 4).ToString());
}
}
}
|