110,534
社区成员
发帖
与我相关
我的任务
分享
using System;
using System.Collections.Generic;
using System.Text;
using System.Reflection;
namespace fanshe2
{
class Program
{
static void Main(string[] args)
{
CComand cmd = new CComand();
Type ty = cmd.GetType();
MethodInfo mi = ty.GetMethod("StartMenu");
if (mi == null)
{
Console.WriteLine("获取方法失败");
Console.ReadKey();
return;
}
Console.WriteLine("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
//bool ret = (bool)mi.Invoke(cmd, new object[] { "张三" }); //这里为什么要这么写?直接调用函数不可以吗? 如下面这行
bool ret = cmd.StartMenu("张三");
if (ret)
Console.WriteLine("Main:启动成功");
else
Console.WriteLine("Main:启动失败");
Console.WriteLine("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
ret = (bool)mi.Invoke(cmd, new object[] { "李四" });
if (ret)
Console.WriteLine("Main:启动成功");
else
Console.WriteLine("Main:启动失败");
Console.WriteLine("按任意键退出");
Console.ReadKey();
}
}
public class CComand
{
private bool ccml = false;
public bool StartMenu(string UserName)
{
Console.WriteLine("操作员:{0}正在操作"+UserName);
if (!ccml)
{
ccml = true;
Console.WriteLine("设备启动成功");
return true;
}
else
{
Console.WriteLine("设备已经启动不能重复启动");
return false;
}
}
}
}
MethodInfo mi = ty.GetMethod("StartMenu");
if (mi == null)
{
Console.WriteLine("获取方法失败");
Console.ReadKey();
return;
}
Console.WriteLine("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
//bool ret = (bool)mi.Invoke(cmd, new object[] { "张三" }); //这里为什么要这么写?直接调用函数不可以吗? 如下面这行
bool ret = cmd.StartMenu("张三");