0

2 つのクラスに共通するプロパティがたくさんあります。それらをインターフェイスに移動したかったのです。これらのプロパティは取得と設定の両方であるため、別のクラスから設定できるかどうかはわかりません。これらのプロパティが必要なクラスにインターフェイスを実装していますが、それでもこれらのプロパティにアクセスできません。私のクラスは次のとおりです。

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; }
}

したがって、IStrategy は、これらすべてのプロパティを移動したいインターフェイスですが、このクラスではそれらにアクセスできません。

internal double DeployRemainingLines()
  {
     return StepsForGivenLines(ReceiverGrid).Sum(step => step.CalculateStepTime());
  }

これらのリンクを見ました: Interface should not have properties? およびInterface の c# プロパティ。また、それらを抽象クラスに入れたくありません。インターフェイスを使用したいです。

4

0 に答える 0