我的想法是我写一个类,做一些事情。如果出问题就弹出提示框。这个提示框由别人做,但是由我这个类通过反射来创建。

提示框框中的提示语也由我的这个类产生,在通过反射创建时,提示语作为参数传入那个类网上的内容看不懂,谁有相关麻烦把代码大致写一下,谢谢!!

解决方案 »

  1.   

    直接用异常捕获不就可以了?
    try
    {
        你调用的某个类的某个方法();
    }
    catch(Exception ex)
    {
        //
    }
      

  2.   

    定义一个类:
    namespace Example
    {
    public class ExampleClass
    {
     public int iID = 0;
     public string strName = "";
     public ExampleClass()
     {
      iID = 1;
      strName = "Example"; 
     } public ExampleClass(int ID,string Name)
     {
      iID = ID;
      strName = Name; 
     }
    }
    }
    实例化对象:需要引用 useing System.Reflection;
    //通过类名获取类的类型
    Type tp = Type.GetType("Example.ExampleClass");  //需要带上名字空间//不带参数的情况--------------------
    //获取类的初始化参数信息
    ConstructorInfo ct1 = tp.GetConstructor(System.Type.EmptyTypes);
    //调用不带参数的构造器
    ExampleClass Ex1 = (ExampleClass)ct1.Invoke(null);
    MessageBox.Show("ID = " + Ex1.iID.ToString() + "; Name = " + Ex1.strName);
    //将输出: ID = 1; Name = Example//带参数的情况
    //定义参数类型数组
    Type[] tps = new Type[2];
    tps[0] = typeof(int);
    tps[1] = typeof(string);
    //获取类的初始化参数信息
    ConstructorInfo ct2 = tp.GetConstructor(tps);//定义参数数组
    object[] obj = new object[2];
    obj[0] = (object)100;
    obj[1] = (object)"Param Example";//调用带参数的构造器
    ExampleClass Ex2 = (ExampleClass)ct2.Invoke(obj);
    MessageBox.Show("ID = " + Ex2.iID.ToString() + "; Name = " + Ex2.strName);
    //将输出: ID = 100; Name = Param Example
      

  3.   

    楼主你的需求我怎么看都应该用委托来实现,你提供信息如何显示让调用方来实现
    delegate void ShowMessage(string message);    /// <summary>
        ///  你的类
        /// </summary>
        class A
        {
            public event ShowMessage showHandle;        public void exec()
            {
                if (showHandle != null)
                    showHandle("你要显示的内容");
            }
        }    /// <summary>
        /// 用户的类
        /// </summary>
        class B
        {
            A test = new A();
            public B()
            {
                test.showHandle +=new ShowMessage(test_showHandle);
            }        void test_showHandle(string message)
            {
                // 具体的显示
            }
        }