+2002-10-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * MonoProperty.cs:
+ * PropertyInfo.cs: fixed bug #31535.
+
2002-09-27 Martin Baulig <martin@gnome.org>
* Assembly.cs (Assembly.GetReferencedAssemblies): Implemented.
Wed Sep 11 12:50:54 CEST 2002 Paolo Molaro <lupus@ximian.com>
* Binder.cs: more default binder implementation.
+
* FieldInfo.cs, MonoField.cs: fixed SetValue () implementation.
* MonoMethod.cs: use the binder in the Invoke () implementation.
Implemented custom attributes methods and ToString for constructors.
object ret = null;
MethodInfo method = GetGetMethod (false);
+ if (method == null)
+ throw new ArgumentException ("Get Method not found for '" + Name + "'");
if (index == null || index.Length == 0)
ret = method.Invoke (obj, invokeAttr, binder, null, culture);
}
public override void SetValue( object obj, object value, BindingFlags invokeAttr, Binder binder, object[] index, CultureInfo culture) {
+ MethodInfo method = GetSetMethod (false);
+ if (method == null)
+ throw new ArgumentException ("Set Method not found for '" + Name + "'");
+
+ object [] parms;
+ if (index == null || index.Length == 0)
+ parms = new object [] {value};
+ else {
+ int ilen = index.Length;
+ parms = new object [ilen+ 1];
+ index.CopyTo (parms, 0);
+ parms [ilen] = value;
+ }
+
+ method.Invoke (obj, invokeAttr, binder, parms, culture);
}
public override string ToString () {
}
public abstract object GetValue( object obj, BindingFlags invokeAttr, Binder binder, object[] index, CultureInfo culture);
public virtual void SetValue( object obj, object value, object[] index) {
+ SetValue (obj, value, BindingFlags.Default, null, index, null);
}
public abstract void SetValue( object obj, object value, BindingFlags invokeAttr, Binder binder, object[] index, CultureInfo culture);
}