[英]java C# vb: how do we dynamically create an instance of a class from a string input (class name)
说我有一个带有公共空构造函数的Framework.Asd.Human类。 我希望能够从字符串输入“ Framework.Asd.Human”动态创建其实例。 这可以实现吗? (在Java和C#中)
编辑:
是否也可以传递参数? 就像新的Framework.Asd.Human(“ John”,100,200); (我知道没有类型安全性,但是在这种情况下还可以)
您可以使用Activator.CreateInstance方法的此重载: http : //msdn.microsoft.com/zh-cn/library/wcxyzt4d.aspx
像这样使用它:
object myObject = (Framework.Asd.Human)Activator.CreateInstance(TypeOf(Framework.Asd.Human), new object[] { "John", 100, 200 });
对于Java: https : //www.cs.auckland.ac.nz/references/java/java1.5/tutorial/reflect/object/arg.html
您将要考虑反思。
签出C#和VB.Net- http://msdn.microsoft.com/zh-cn/library/ms173183.aspx
对于Java- http://java.sun.com/developer/technicalArticles/ALT/Reflection/
编辑
由于您询问了参数...。
C# -http://msdn.microsoft.com/zh-CN/library/system.activator.createinstance.aspx
Java- http://www.java2s.com/Code/Java/Language-Basics/ObjectReflectioninvokeconstructorwithparameters.htm
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.