C# 公共接口中的属性

C# 公共接口中的属性,c#,properties,interface,C#,Properties,Interface,我有两个类共有的一些属性。我想将它们移动到一个界面中。由于这些属性都是get和set,我不确定是否允许我从另一个类设置它们。我正在类中实现需要这些属性的接口,但仍然无法访问这些属性。我的班级如下: public class PatchSurveyStartegy : IStrategy { public IEnumerable<IEnumerable<PointBase>> ReceiverGrid { get; set; } public IEnumerabl

我有两个类共有的一些属性。我想将它们移动到一个界面中。由于这些属性都是get和set,我不确定是否允许我从另一个类设置它们。我正在类中实现需要这些属性的接口,但仍然无法访问这些属性。我的班级如下:

public class PatchSurveyStartegy : IStrategy
{
  public IEnumerable<IEnumerable<PointBase>> ReceiverGrid { get; set; }

  public IEnumerable<IEnumerable<PointBase>> SourceGrid { get; set; }

  public SourceParameters SourceParameters { get; set;}

  public DeploymentParameters DeploymentParameters { get; set; }

  public RovParameters RovParameters { get; set; }
}

我查看了这些链接:和。另外,我不想把它们放在抽象类中,我想使用一个接口。

我不知道在哪里可以实例化PatchSurveyStartegy或IStrategy。也许你应该提供那个片段。同时,还有IStrategy中的代码。能否给出特定的编译器错误或运行时异常,以及接口声明?在哪个类中定义了
DeployRemainingLines
?你犯了什么错误?我想我知道答案了。我正在使属性在界面中公开,这不是必需的。现在工作。谢谢“我想我得到了答案。我在界面中公开了属性,这不是必需的。”这不仅不是必需的,而且实际上是禁止的。
internal double DeployRemainingLines()
  {
     return StepsForGivenLines(ReceiverGrid).Sum(step => step.CalculateStepTime());
  }