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# プロパティ。また、それらを抽象クラスに入れたくありません。インターフェイスを使用したいです。