我定义一个接口和一个这样的类:
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/