+
+ MethodInfo mi = indexer.GetSetMethod (true);
+ if (mi == null) {
+ mi = indexer.GetGetMethod (true);
+ if (mi == null)
+ return NoTypes;
+ }
+
+ ParameterInfo [] pi = mi.GetParameters ();
+ if (pi == null)
+ return NoTypes;
+
+ int c = pi.Length;
+ Type [] types = new Type [c];
+
+ for (int i = 0; i < c; i++)
+ types [i] = pi [i].ParameterType;
+
+ indexer_arguments.Add (indexer, types);
+ return types;
+ }
+ /*else
+ {