0
    public static T newitem<T>(Form Control, int Left, int Top, string Text = "", bool Visible = true) where T : new()
    {
        T a = new T();
        a.Left = Left;
        a.Top = Top;
        a.Text = Text;
        a.Visible = Visible;
        Control.Controls.Add(a);
        return a;
    }

我想编写一个函数,将任何 Windows 表单控件添加到我的表单中。当我尝试访问 a.xxx 时,出现错误。错误:“T”不包含“Left”的定义,并且找不到接受“T”类型的第一个参数的扩展方法“Left”。我该如何解决这个问题?

4

1 回答 1

1

添加一个额外的约束,T : Control因为您只能将控件添加到表单。这限制TControl确保Left属性可用的类型(它在控件上定义)

于 2013-04-30T09:26:06.320 回答