如何正确传递此类型

时间:2015-07-09 18:16:10

标签: c# types

我希望这样做:

<div ng-app="AngularApp">
<div ng-controller="mapTestController">
    {{TestVar}} //this is blank
...

使用NewItem():

Type curType = blah blah...;
dataSet.Add( NewItem<typeof(curType)>() );

但无论我尝试哪种方式,我似乎无法将动态类型传递给NewItem。

2 个答案:

答案 0 :(得分:0)

如果你真的想要一个Activator.CreateInstance(...)的包装器:

// using System.Reflection;
Type curType = // blah blah...;
dataSet.Add(GetType().GetMethod("NewItem").MakeGenericMethod(curType).Invoke(this, null));

忽略包装器可能更有意义,只需通过说Activator.CreateInstance直接调用dataSet.Add(Activator.CreateInstance(curType));

答案 1 :(得分:0)

Activator.CreateInstance有一个重载,它带有你在Type包装器中调用的NewItem实例。您也可以直接调用它而不是尝试动态调用NewItem

dataSet.Add(curType);