Code: Select all
var rule = new ScottPlot.AxisRules.MaximumBoundary
{
xAxis = thisPlot.Axes.Left,
yAxis = thisPlot.Axes.Bottom,
Limits = new AxisLimits(thisPlot.Axes.GetDataLimits().Left * 0.05, thisPlot.Axes.GetDataLimits().Right * 0.05, 0, 100)
};
< /code>
Dies sind die 2 Warnungen, die ich bekomme: < /p>
There is no argument given that corresponds to the required parameter
Code: Select all
'type' does not contain a definition for 'identifier'
Und hier ist die vollständige Klassendefinition:
namespace ScottPlot.AxisRules;
public class MaximumBoundary(IXAxis xAxis, IYAxis yAxis, AxisLimits limits) : IAxisRule
{
readonly IXAxis XAxis = xAxis;
readonly IYAxis YAxis = yAxis;
public AxisLimits Limits { get; set; } = limits;
public void Apply(RenderPack rp, bool beforeLayout)
{
double horizontalSpan = Math.Min(Math.Abs(XAxis.Range.Span), Limits.XRange.Span);
double verticalSpan = Math.Min(Math.Abs(YAxis.Range.Span), Limits.YRange.Span);
if (XAxis.IsInverted())
{
if (XAxis.Range.Min > Limits.XRange.Max)
{
XAxis.Range.Min = Limits.XRange.Max;
XAxis.Range.Max = Limits.XRange.Max - horizontalSpan;
}
if (XAxis.Range.Max < Limits.XRange.Min)
{
XAxis.Range.Max = Limits.XRange.Min;
XAxis.Range.Min = Limits.XRange.Min + horizontalSpan;
}
}
else
{
if (XAxis.Range.Max > Limits.XRange.Max)
{
XAxis.Range.Max = Limits.XRange.Max;
XAxis.Range.Min = Limits.XRange.Max - horizontalSpan;
}
if (XAxis.Range.Min < Limits.XRange.Min)
{
XAxis.Range.Min = Limits.XRange.Min;
XAxis.Range.Max = Limits.XRange.Min + horizontalSpan;
}
}
if (YAxis.IsInverted())
{
if (YAxis.Range.Min > Limits.YRange.Max)
{
YAxis.Range.Min = Limits.YRange.Max;
YAxis.Range.Max = Limits.YRange.Max - verticalSpan;
}
if (YAxis.Range.Max < Limits.YRange.Min)
{
YAxis.Range.Max = Limits.YRange.Min;
YAxis.Range.Min = Limits.YRange.Min + verticalSpan;
}
}
else
{
if (YAxis.Range.Max > Limits.YRange.Max)
{
YAxis.Range.Max = Limits.YRange.Max;
YAxis.Range.Min = Limits.YRange.Max - verticalSpan;
}
if (YAxis.Range.Min < Limits.YRange.Min)
{
YAxis.Range.Min = Limits.YRange.Min;
YAxis.Range.Max = Limits.YRange.Min + verticalSpan;
}
}
}
}
< /code>
Ich habe bemerkt, dass ich mit der Nachricht "Feature 'Readonly -Mitglieder' nicht in C# 7.3 verfügbar ist, wenn ich versuche, eine eigene Klasse mit einer" Readonly "-Obmeldung zu erstellen. Bitte verwenden Sie Sprachversion 8.0 oder größer" < /p>
Ist es möglich, dass die Readonly -Eigenschaften aufgrund der My -C -# -Version nicht erkennen. Ich möchte mein Zielframework nicht ändern oder meine ScottPlot -Version nicht herabstufen. Gibt es eine Möglichkeit, dies zum Laufen zu bringen?>