Giriş
Reflection ile nesne yaratmak içindir.
CreateInstance metodu - default constructor
Public olan default constructor metodunu çağırmak için şöyle yaparız.
Parametre alan bir constructor şöyle çağrılır. Burada parametre dizisi null verilerek yine default constructor çağrılıyor.
Generic olan şu nesneyi yaratmak isteylim
Reflection ile nesne yaratmak içindir.
CreateInstance metodu - default constructor
Public olan default constructor metodunu çağırmak için şöyle yaparız.
Activator.CreateInstance(typeof(MyClass)
);
Public olan veya olmayan default constructor metodunu çağırmak için şöyle yaparız. İkinci parametre true verilerek nonPublic olan constructor metodların da kullanılması sağlanır.var type = ...;
// create an instance
var instance = Activator.CreateInstance( type, true);
CreateInstance metodu - parameter constructorParametre alan bir constructor şöyle çağrılır. Burada parametre dizisi null verilerek yine default constructor çağrılıyor.
var type = ...;
// create an instance
var instance = Activator.CreateInstance( type, null );
DiğerGeneric olan şu nesneyi yaratmak isteylim
Foo<Bar>
Generic tip belirtmek için şöyle yaparız.var d1 = typeof(Foo<>);
Type[] typeArgs = { typeof(Bar) };
var makeme = d1.MakeGenericType(typeArgs);
object o = Activator.CreateInstance(makeme);
Object yerine gerçek nesne tipi için şöyle yaparızFoo<Bar> o = Activator.CreateInstance(makeme) as Foo<Bar>;
Hiç yorum yok:
Yorum Gönder