各位朋友,请帮我解释一下
private void ShowOrActiveForm<T>(string FormName) where T:Form,new()
{}
这个是什么意思?特别是where T:Form,new()
不理解这种方式定义的函数叫什么?谢谢!

解决方案 »

  1.   

    以一个调用方式说明:
    //调用方法
    private void CallMethod()
    {
     //假如已经有一个窗体类:MyForm
     ShowOrActiveForm<MyForm>("我的窗体名称");//这种方法是前是,MyForm类型必须是Form类,或是Form的子类,并且可以实化例(无参数)
    }//被调用方法
    private void ShowOrActiveForm <T>(string FormName) where T:Form,new() 
    {
     T t = new T();
     Form myForm=t as Form;
     myForm.Name=FormName;//窗体名称
     myForm.Text=FormName;//标题
     myForm.Show();
    }
      

  2.   

    呵,谢谢linjf520 。我会使用也知道方法里面怎么实现。但是对于整个函数的定义就不是很理解。比如说T为什么得是FORM,难道是Where T:Form这个约束了T,只能是Form类型的?并且new()在这里是什么意思呢?难道允许T拥有new()方法吗?希望能够详细说清楚。是不是这个方法只是涉汲到约束和泛型呢?