Я не совсем понимаю, чего вы пытаетесь достичь с помощью этой строки:
Point P11 = **P1 * jF;**
Если вы попытаетесь включить его, используйте функцию Math.Pow
.
Обновление У вас должно быть внутреннее поле в структуре, которое представляет ваши значения, тогда реализация оператора очень проста.
Что касается IFormattable
, я не сделалЧтобы действительно проверить, что я пишу, я просто скопировал код из здесь , чтобы дать вам идею:
public partial struct Point : IFormattable
{
private double x;
public double X
{
get { return x; }
}
private double y;
public double Y
{
get { return y; }
}
public static Point operator *(Point point, double value)
{
return new Point(point.X * value, point.y * value);
}
public Point(double x, double y)
{
this.x = x;
this.y = y;
}
#region IFormattable Members
public string ToString(string format, IFormatProvider formatProvider)
{
if (format == null) format = "H"; //hyphenized
if (formatProvider != null)
{
ICustomFormatter formatter =
(ICustomFormatter)formatProvider.GetFormat(this.GetType());
if (formatter != null)
return formatter.Format(format, this, formatProvider);
}
switch (format)
{
case "X:
return string.Format("{0}x{1}", X, Y);
case "C":
return string.Format("{0}, {1}", X, Y);
case "H":
default:
return string.Format("{0}-{1}", X, Y);
}
}
#endregion
}