public ParameterGen <T> BeginParameter(Type type, string name) { ParameterAttributes attrs = 0; bool va = false; switch (_paramMod) { case ParamModifier.Out: attrs |= ParameterAttributes.Out; goto case ParamModifier.Ref; case ParamModifier.Ref: if (!type.IsByRef) { type = type.MakeByRefType(); } break; case ParamModifier.Params: if (!type.IsArray) { throw new InvalidOperationException(Messages.ErrParamArrayNotArray); } va = true; break; } ParameterGen <T> pgen = new ParameterGen <T>(TypedThis, _parameters, _parameters.Count + 1, type, attrs, name, va); _parameters.Add(pgen); _paramMod = ParamModifier.None; return(pgen); }
public ParameterGen BeginIndex(Type type, string name) { ParameterGen pgen = new ParameterGen(indexParameters, indexParameters.Count + 1, type, 0, name, false); indexParameters.Add(pgen); return(pgen); }
public ParameterGen <T> BeginParameter(Type type, string name) { ParameterAttributes attrs = 0; bool va = false; switch (paramMod) { case ParamModifier.Out: attrs |= ParameterAttributes.Out; goto case ParamModifier.Ref; case ParamModifier.Ref: type = type.MakeByRefType(); break; case ParamModifier.Params: if (!type.IsArray) { throw new InvalidOperationException("The parameter array must be defined using an array type"); } va = true; break; } ParameterGen <T> pgen = new ParameterGen <T>(typedThis, parameters, parameters.Count + 1, type, attrs, name, va); parameters.Add(pgen); paramMod = ParamModifier.None; return(pgen); }