BTDB.IL.ILDynamicTypeDebugImpl.DefineMethod C# (CSharp) Method

DefineMethod() public method

public DefineMethod ( string name, Type returns, Type parameters, MethodAttributes methodAttributes = MethodAttributes.Public ) : IILMethod
name string
returns Type
parameters Type
methodAttributes MethodAttributes
return IILMethod
        public IILMethod DefineMethod(string name, Type returns, Type[] parameters, MethodAttributes methodAttributes = MethodAttributes.Public)
        {
            CloseInScope();
            _sourceCodeWriter.StartMethod(name, returns, parameters, methodAttributes);
            var methodBuilder = _typeBuilder.DefineMethod(name, methodAttributes, returns, parameters);
            for (int i = 0; i < parameters.Length; i++)
            {
                methodBuilder.DefineParameter(i + 1, ParameterAttributes.In, $"arg{i}");
            }
            _inScope = true;
            return new ILMethodDebugImpl(methodBuilder, _sourceCodeWriter, name, returns, parameters, _forbidenInstructions);
        }