sb.Append (", ");
sb.Append (ParameterDesc (i));
}
+ if (is_varargs) {
+ if (pi.Length > 0)
+ sb.Append (", ");
+ sb.Append ("__arglist");
+ }
sb.Append (')');
return sb.ToString ();
}
if (pos >= pi.Length - 1 && last_arg_is_params)
sb.Append ("params ");
-
+
sb.Append (TypeManager.CSharpName (partype).Replace ("&", ""));
return sb.ToString ();
sb.Append (", ");
sb.Append (ParameterDesc (i));
}
+ if (has_varargs) {
+ if (count > 0)
+ sb.Append (", ");
+ sb.Append ("__arglist");
+ }
sb.Append (')');
return sb.ToString ();
}
return "out";
if (p.ModFlags == Parameter.Modifier.PARAMS)
return "params";
-
return "";
}
Type base_type;
Type class_constraint;
Type[] iface_constraints;
+ string name;
public ReflectionConstraints (Type t)
{
+ name = t.Name;
Type[] constraints = t.GetGenericParameterConstraints ();
if ((constraints.Length > 0) && !constraints [0].IsInterface) {
class_constraint = constraints [0];
base_type = TypeManager.object_type;
}
+ public override string TypeParameter {
+ get { return name; }
+ }
+
public override GenericParameterAttributes Attributes {
get { return attrs; }
}