我有简单的通用方法,带有以下签名:
public static T SafeGetValue<T>(this XElement xElem, string attrName,
T defaultValue = default(T), bool throwExceptions = false)
我想这样调用:
var genericMethod = typeof(XElementExtensions).GetMethod("SafeGetValue");
genericMethod = genericMethod.MakeGenericMethod(type);
genericMethod.Invoke(null,new[] { xElem, "attr", Type.Missing, Type.Missing });
提供了 type
变量,它对于不同的调用(typeof(int),typeof(bool),typeof(string)等)是不同的,但是当我提供{{ 1}},我得到了运行时异常:
类型&#39; System.FormatException&#39;的例外情况发生在mscorlib.dll中,但未在用户代码中处理。附加信息:遇到默认值的无效类型。