使用 MethodInfo 调用带ref参数的方法

参考来自链接 https://bbs.csdn.net/topics/70385719

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.CodeDom.Compiler;
using Microsoft.CSharp;
using System.Reflection;

namespace WindowsFormsApplication1
{

    public class ClassA
    {
        public void func1(ref int j)
        {
            j++;
        }
    }

    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            int j;
            ClassA A = new ClassA();
            Type tpClass = A.GetType();
            MethodInfo miMethod = tpClass.GetMethod("func1");

            j = 1;
            object[] args = new object[] { j };
            miMethod.Invoke(A, args);

            MessageBox.Show(args[0].ToString());
        }
    }
}

 

你可能感兴趣的:(c#)