Moo*_*oon 5 c# class dynamic instance
是否可以通过字符串变量初始化类?我有PHP代码.
<?php
$classname = "test";
$oTest = new $classname();
class test{
}
?>
Run Code Online (Sandbox Code Playgroud)
我怎么在c#中这样做?
Meh*_*ari 19
System.Activator.CreateInstance(Type.GetType(className))
Run Code Online (Sandbox Code Playgroud)
然而,问题是C#3.0是一种静态类型语言.您不能只在返回的对象上调用随机方法.您可以让实例化的类实现一些通用接口,并将上述表达式的结果强制转换为接口,或者手动使用反射来调用返回对象上的方法.
您可以使用Activator.CreateInstance方法来实现类似的结果.但除了类型的完全限定名称之外,您还必须提供程序集名称
var instance = Activator.CreateInstance("SomeAssemblyName","Some.Full.Type.Test");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14563 次 |
| 最近记录: |