none
T _t=new T(加参数); 的问题 RRS feed

  • 问题

  •  public static void ShowDialog<T>(Window Parent) where T:Window ,new()
           {
               T _t=new T();
               _t.Owner = Parent;
               _t.ShowDialog();
           }

    这样做没有问题,我想给

    T _t=new T();中T()加个参数可不可以

    我样做了以后会出现问题

    有没有可能 做成

    T _t=new T(加参数);这样呀,请各位给个答案,谢谢了

    这是csdn上给的提示

    编译器错误 CS0417

    如果对类型参数上的 new 运算符的调用带有参数,则会发生此错误。 可以使用未知参数类型上的 new 运算符调用的唯一构造函数是不带参数的构造函数。 如果需要调用另一个构造函数,请考虑使用类类型约束或接口约束。

    // CS0417
    class C<T> where T : new()
    {
        T type = new T(1);   // CS0417
    }
    
    • 已移动 Jie BaoModerator 2012年2月23日 1:38 (发件人:Windows Presentation Foundation)
    2012年2月22日 6:03

答案

全部回复