我定义一个接口和一个这样的类:

interface ITextBox
    {
        double Left { get; set; }
    }

    class TimeTextBox : ITextBox
    {
        public TimeTextBox(ITextBox d)
        {
            Left = d.Left;
        }
        public double Left { get; set; }
    }


我想要创建此类的一个实例,如下所示:

ITextBox s;
s.Left = 12;
TimeTextBox T = new TimeTextBox(s);


但是发生此错误:


使用未分配的局部变量“ s”

最佳答案

在尝试使用s之前,尚未实例化它。

您需要执行以下操作:

ITextBox s = new SomeClassThatImplementsITextBox();

TimeTextBox t = new TimeTextBox(s);


接口只是合同。它仅定义结构。您必须具有实现该接口的类的具体实现。

关于c# - 使用接口(interface)作为构造函数参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20040078/

10-11 02:19