首页 > 编程语言 >C#:通过类名和方法名调用方法

C#:通过类名和方法名调用方法

时间:2022-12-13 16:34:05浏览次数:26  
标签:Type string parameters C# type int 方法 method 类名

1.我们先定义三个方法

using System;

namespace Testrun
{
    public class Testclass
    {
        public void PrintTxt()
        {
            Console.WriteLine("void&noparameter");
        }
        public void PrintTxt(int value1)
        {
            Console.WriteLine("void&1parameter:" + value1);
        }
        public string PrintTxt(int value1, int value2)
        {
            var resStr = "string&2parameter: " + value1 + ", " + value2;
            //Console.WriteLine(resStr);
            return resStr;
        }
    }
}

2.调用的方式:

using System;
using System.Reflection;

namespace Testrun
{
    class Program
    {
        static void Main(string[] args)
        {
            string strClass = "Testrun" + "." + "Testclass";
            const string strMethod = "PrintTxt";
            Type type = Type.GetType(strClass);
            if (type != null)
            {
                Object obj = Activator.CreateInstance(type);
                MethodInfo method = type.GetMethod(strMethod, new Type[] { });
                object[] parameters = null;
                method.Invoke(obj, parameters);

                method = type.GetMethod(strMethod, new Type[] { typeof(int) });
                parameters = new Object[] { 18 };
                method.Invoke(obj, parameters);

                method = type.GetMethod(strMethod, new Type[] { typeof(int), typeof(int) });
                parameters = new Object[] { 18, 2 };
                var res = (string)method.Invoke(obj, parameters);
                Console.WriteLine(res);

            }
        }
    }
}

3.运行结果

标签:Type,string,parameters,C#,type,int,方法,method,类名
From: https://www.cnblogs.com/yellow3gold/p/16979204.html

相关文章

  • Catlan数之栈的出栈序列-legend
    栈的出队顺序问题:(一)Catlan数:(1)给出入栈序列,求出所有的出栈的序列个数: C(2n,n)/(n+1);(2)给出入栈序列,求出所有的出栈序列;1)举例:1、2、3这三个数字,入栈并出栈共有5种方式,分......
  • 记一次CentOS8误删恢复yum过程
    起因同事不小心删了yum,搞不定找我处理,我也没搞过,但是我知道yum是一个管理rpm包管理工具。可通过rpm直接安装。当然一开始我想的是编译安装。但是发现编译安装需要很多依赖......
  • JavaScript中比较字符串的4种方法
    严格平等要确定字符串是否相等,可以使用严格相等运算符。如果字符串不同,则返回,如果字符串相同,则返回===false trueconsts1='learn';consts2='today';console......
  • electron 打包之后如何查看console
    渲染进程中查看console直接CTRL+shift+i主进程查看consolewindow电脑进入文件目录在终端执行exe文件PowershellPSC:\ProgramFiles\test>.\test.exeCMDC:......
  • Echarts 设置Y轴 || X轴的刻度只显示整数
    目前的效果如下:(有小数)   想要的效果如下:(整数)    解决方案:在配置项的yAxis或者xAxis对象中添加属性:minInterval:1,表示将刻度的最小间距设置为1注意:mi......
  • js判断数据类型的五种方法
    1.typeof可以判断数据类型,它返回表示数据类型的字符串(返回结果只能包括number,boolean,string,function,object,undefined);可以使用typeof判断变量是否存在(如if(typeofa!......
  • CAD查找替换文字时如何使用通配符?CAD通配符使用技巧(一)
    通配符是一种特殊语句,主要有星号和问号,用来模糊搜索文件。那么,CAD查找替换文字时如何使用通配符呢?本文小编就来给大家分享一下浩辰CAD软件中查找替换文字时使用通配符的操......
  • C++有关class内部的static关键字理解
    变量在class中被static修饰的成员变量是可以被直接访问的,不需要实例化。并且所有实例共享同一份该变量,进而可实现单例模式。如果换个理解方式,class仅提供一个namespace......
  • 理解ADC微分非线性(DNL)误差
    1,理解ADC微分非线性(DNL)误差2,UnderstandingADCDifferentialNonlinearity(DNL)Error......
  • java 导入Excel数据校验判断哪行那列
    记录工作需求是导入数据的时候需要判断哪一行是空行,或者哪一行超过限制字符,然后返回给前端做展示@PostMapping("/importExcel")@ApiOperation("导入用户")@Ap......