給定以下示例代碼;Activator.CreateInstance(...)找不到參數化構造函數
class Program
{
static void Main(string[] args)
{
var results = GetChildren().ToList();
}
static IEnumerable<MyBaseClass> GetChildren()
{
return Assembly.GetExecutingAssembly()
.GetTypes()
.Where(t => t.BaseType == typeof(MyBaseClass))
.Select(o => (MyBaseClass)Activator.CreateInstance(o, null));
}
}
abstract class MyBaseClass
{ }
class MyChildClass : MyBaseClass
{
public MyChildClass(object paramOne)
{
}
}
我收到以下錯誤;
MissingMethodException:構造函數型「CreateInstanceCtorIssue.MyChildClass找不到。
但是,如果我添加無參數構造函數,它會創建對象確定。
我想解決爲什麼參數我suppiling CreateInstance不會導致它找到正確的構造函數。任何人有任何想法?
這應該工作:'Activator.CreateInstance(O,(對象)空)' – Alex 2012-02-29 14:46:26