Net Reflection Method Property Field İşlemleri
2023-05-05
Reflection ile Metot, Özellik ve Alan İşlemleri
Bu makalede, Reflection ile metot, özellik ve alan işlemlerini ele alacağız.
Metotlarla Çalışma
- Metotları Elde Etme Type sınıfının ‘GetMethod()’ ve ‘GetMethods()’ metodları, belirli bir türdeki metotların metadatasını elde etmek için kullanılabilir.
Type myType = typeof(MyClass);
MethodInfo myMethod = myType.GetMethod("MyMethod");
MethodInfo[] myMethods = myType.GetMethods();
- Metotları Çağırma MethodInfo sınıfının ‘Invoke()’ metodu, çalışma zamanında belirli bir nesne üzerinde metotları çağırmak için kullanılır.
MyClass myInstance = new MyClass();
object[] parameters = new object[] { "parameter1", 42 };
object result = myMethod.Invoke(myInstance, parameters);
Özelliklerle Çalışma
- Özellikleri Elde Etme Type sınıfının ‘GetProperty()’ ve ‘GetProperties()’ metodları, belirli bir türdeki özelliklerin metadatasını elde etmek için kullanılabilir.
Type myType = typeof(MyClass);
PropertyInfo myProperty = myType.GetProperty("MyProperty");
PropertyInfo[] myProperties = myType.GetProperties();
- Özellik Değerlerini Okuma ve Yazma PropertyInfo sınıfının ‘GetValue()’ ve ‘SetValue()’ metodları, çalışma zamanında belirli bir nesne üzerinde özellik değerlerini okumak ve yazmak için kullanılır.
MyClass myInstance = new MyClass();
object propertyValue = myProperty.GetValue(myInstance);
myProperty.SetValue(myInstance, "NewValue");
Alanlarla Çalışma
- Alanları Elde Etme Type sınıfının ‘GetField()’ ve ‘GetFields()’ metodları, belirli bir türdeki alanların metadatasını elde etmek için kullanılabilir.
Type myType = typeof(MyClass);
FieldInfo myField = myType.GetField("MyField");
FieldInfo[] myFields = myType.GetFields();
- Alan Değerlerini Okuma ve Yazma FieldInfo sınıfının ‘GetValue()’ ve ‘SetValue()’ metodları, çalışma zamanında belirli bir nesne üzerinde alan değerlerini okumak ve yazmak için kullanılır.
MyClass myInstance = new MyClass();
object fieldValue = myField.GetValue(myInstance);
myField.SetValue(myInstance, 123);