System.Activator.CreateInstance nedir ve ne zaman kullanmalıyım?System.Activator.CreateInstance nedir?
cevap
Yalnızca çalışma zamanında türü bilinen bir nesnenin örneğini oluşturmanıza olanak tanır. Öyleyse bir sınıfın
public class MyClass
{
public void SomeMethod()
{
}
}
olduğunu varsayalım ve bunun bir örneğini oluşturmak istediniz.
MyClass instance = new MyClass();
ama gördüğünüz gibi bu tip derleme zamanında bilinmesi gerektiği anlamına gelir: standart yol bu yapmaktır. Eğer kullanıcılarınızın bazı metin kutularında sınıfın adını girmesini istiyorsanız. Bu durumda Activator.CreateInstance kullanabilirsiniz:
// this could come from anywhere and it's known only at runtime
string someType = "MyClass";
object instance = Activator.CreateInstance(Type.GetType(someType));
dezavantajı gerçek tip derleme zamanında bilinmemektedir beri Activator.CreateInstance ile oluşturulan örneklerini işlemek amacıyla use reflection zorunda kalacak olmasıdır.
Benzer olarak Objective-C NSClassFromString benzer? – user523234
Teşekkürler, bu gerçekten yararlı bir örnektir :) – Lev
- 1. Bu nedir Alercontroller.recyclelistview nedir
- 2. nedir?
- 3. CLI-Loop nedir? Normal döngüdeki fark nedir?
- 4. Tomcat Bileşeni nedir? Catalina ve Coyote nedir?
- 5. Bu IIS bağlama nedir ve amaçları nedir?
- 6. [alternatives --config mta] ile görüntülenen nedir nedir?
- 7. Parametrelerde 3 nokta nedir?/Değişkenlik (...) parametresi nedir?
- 8. Sanal dizin nedir? Bunun kullanımı nedir?
- 9. sorgusunun anlamı nedir *: lucene'deki değer nedir?
- 10. Gönderen nedir?
- 11. OCaml'de "` "nedir?
- 12. Interop.MSutil.dll nedir
- 13. ADODB.Stream nedir?
- 14. XSLT'de // nedir?
- 15. MediaRecorder.OutputFormat.DEFAULT nedir?
- 16. Javascript'te === nedir?
- 17. IHTMLScriptElement nedir?
- 18. oci_bind_by_name nedir?
- 19. Amacı nedir? * \\?
- 20. "Boilerplate'inizi" nedir?
- 21. CoreDataGeneratedAccessors nedir?
- 22. kpsexpand nedir?
- 23. cmake_install.cmake nedir
- 24. Sampler2d nedir?
- 25. Haslayout nedir?
- 26. Adapter.getItem() nedir?
- 27. "= Sil" nedir?
- 28. ArrayAdapter nedir?
- 29. DWASMod.dll Nedir?
- 30. MSVCP100D.dll Nedir?
Genellikle bu sınıf, .NET yansımasını (geç bağlama gibi) kullanırken, bu makaleyi ne zaman kullanacağınızı öğrenmek için okuyabilirsiniz, http://www.codeproject.com/Articles/55710/ Yansıma-in-NET –