为接口属性赋值

时间:2015-02-02 23:24:43

标签: c# .net

我已经定义了这样的界面:

public interface myInterface {
  int SomeProperty {get;set;}
}

在继承课程中,我完成了这个:

public class MyClass:myInterface {
  public int SomeProperty = 5;
}

但后来我收到了这个错误:

MyClass does not implement interface member myInterface.SomeProperty. 

任何想法我做错了什么?

1 个答案:

答案 0 :(得分:4)

您将SomeProperty声明为field,而不是property。你应该这样做:

public class MyClass:myInterface
{
  public MyClass()
  {
     SomeProperty = 5;
  }

  public int SomeProperty { get; set; }
}

或者,如果您使用的是C#6,可以将其缩短为:

public class MyClass:myInterface
{
  public int SomeProperty { get; set; } = 5;
}