/// <summary> /// 使用反射优化的方式对FieldInfo实例赋值 /// </summary> /// <param name="fieldInfo">FieldInfo对象实例</param> /// <param name="obj">调用参数,用于数组索引器等成员</param> /// <param name="value">对象值</param> public static void FastSetField(this FieldInfo fieldInfo, object obj, object value) { if (fieldInfo == null) { throw new ArgumentNullException("fieldInfo"); } SetValueDelegate setter = (SetValueDelegate)s_setterDict[fieldInfo]; if (setter == null) { setter = DynamicMethodFactory.CreateFieldSetter(fieldInfo); s_setterDict[fieldInfo] = setter; } setter(obj, value); }