Mono.Cecil.MetadataImporter.ImportMethod C# (CSharp) Method

ImportMethod() public method

public ImportMethod ( MethodReference method, ImportGenericContext context ) : MethodReference
method MethodReference
context ImportGenericContext
return MethodReference
        public MethodReference ImportMethod(MethodReference method, ImportGenericContext context)
        {
            if (method.IsGenericInstance)
                return ImportMethodSpecification (method, context);

            var declaring_type = ImportType (method.DeclaringType, context);

            var reference = new MethodReference {
                Name = method.Name,
                HasThis = method.HasThis,
                ExplicitThis = method.ExplicitThis,
                DeclaringType = declaring_type,
                CallingConvention = method.CallingConvention,
            };

            if (method.HasGenericParameters)
                ImportGenericParameters (reference, method);

            context.Push (reference);
            try {
                reference.ReturnType = ImportType (method.ReturnType, context);

                if (!method.HasParameters)
                    return reference;

                var reference_parameters = reference.Parameters;

                var parameters = method.Parameters;
                for (int i = 0; i < parameters.Count; i++)
                    reference_parameters.Add (
                        new ParameterDefinition (ImportType (parameters [i].ParameterType, context)));

                return reference;
            } finally {
                context.Pop();
            }
        }

Same methods

MetadataImporter::ImportMethod ( System.Reflection method, ImportGenericContext context, ImportGenericKind import_kind ) : MethodReference

Usage Example

Esempio n. 1
0
        MethodReference Import(SR.MethodBase method, IGenericParameterProvider context)
        {
            CheckMethod(method);
            CheckContext(context, this);

            return(MetadataImporter.ImportMethod(method, (IGenericContext)context));
        }
All Usage Examples Of Mono.Cecil.MetadataImporter::ImportMethod