1

我有方法:

static T RandomObject<T> (...) {
var tmp = Activator.CreateInstance<T>();
...
   foreach (PropertyInfo info in tmp.GetType().GetProperties()){
   ...
   }
}

如果类 T 具有对象属性,我也想随机生成它们,所以我要做的是:

var t = info.PropertyType;
obj = RandomObject<t>(...);

然后我得到:

找不到类型或命名空间名称 t(您是否缺少 using 指令或程序集引用?)

有什么想法可以解决这个问题吗?

4

1 回答 1

0

尝试:

obj = GetType().GetMethod("RandomObject", BindingFlags.Static | BindingFlags.NonPublic).MakeGenericMethod(t).Invoke(null, ...);
于 2015-01-30T19:29:33.850 回答