[英]initialize a class by string variable in c#?
是否可以通過字符串變量初始化類? 我有PHP代碼。
<?php
$classname = "test";
$oTest = new $classname();
class test{
}
?>
我怎么在c#中這樣做?
System.Activator.CreateInstance(Type.GetType(className))
然而,問題是C#3.0是一種靜態類型語言。 您不能只在返回的對象上調用隨機方法。 您可以讓實例化的類實現一些通用接口,並將上述表達式的結果強制轉換為接口,或者手動使用反射來調用返回對象上的方法。
您可以使用Activator.CreateInstance方法來實現類似的結果。 但除了類型的完全限定名稱之外,您還必須提供程序集名稱
var instance = Activator.CreateInstance("SomeAssemblyName","Some.Full.Type.Test");
您可以使用Activator.CreateInstance。 各種重載的文檔在這里: http : //msdn.microsoft.com/en-us/library/system.activator.createinstance.aspx
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.