zoukankan      html  css  js  c++  java
  • 如何将类作为参数传递

    问题
    我想实现这样一个功能,将类型作为参数传递:
    已经有FrmA、FrmB、FrmC、FrmS等几个窗体类了,
    需要实现这样一个函数:
    fun(参数A)
    {
    参数A F = new 参数A();
    F.Show();
    }
    
    fun(FrmA);//就能新建并打开一个FrmA窗口
    
    答案
    用反射: 
    
    主调类: 
    private void button3_Click(object sender, EventArgs e) 
    { 
    bindForm("WindowsApplication1.UserControl1"); 
    } 
    
    private void bindForm(string f) 
    { 
    System.Type t = System.Type.GetType(f); 
    object ff = Activator.CreateInstance(t,null); 
    System.Reflection.MethodInfo method = t.GetMethod("setText"); 
    System.Reflection. BindingFlags flag = System.Reflection. BindingFlags.Public |System.Reflection. BindingFlags.Instance; 
    object returnValue = method.Invoke(ff, null); 
    } 
    各窗体: 
    public partial class UserControl1 : Form 
    { 
    public UserControl1() 
    { 
    InitializeComponent(); 
    } 
    public void setText() 
    { 
    Text = "kkk"; 
    Show(); 
    } 
    }
  • 相关阅读:
    学习进度条73
    学习进度条72
    学习进度条71
    学习进度条70
    学习进度条69
    学习进度条68
    学习进度条67
    学习进度条66
    学习进度条65
    elasticsearch
  • 原文地址:https://www.cnblogs.com/vic_lu/p/2056673.html
Copyright © 2011-2022 走看看