C#error CS0201:只能将赋值,调用,增量,递减和新对象表达式用作语句 [英] C# error CS0201: Only assignment, call, increment, decrement, and new object expressions can be used as a statement
本文介绍了C#error CS0201:只能将赋值,调用,增量,递减和新对象表达式用作语句的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这里是我得到错误的行:
Here is the line where I am getting error:
_activeType == typeof(Reticle);
这是如何定义 Reticle
。一些属性和方法可能没有什么意义,但我认为类的定义应该是关键的问题:
Here is how the Reticle
class is defined. Some of the properties and methods might not be making much sense, but I think the definition of the class should be the key issue:
public class Reticle : Shape
{
#region Fields
private readonly Path _path;
private bool _isClosed;
private PointCollection _points;
#endregion Fields
#region Constructors
public Reticle() // constructor
{
var geometry = new PathGeometry();
geometry.Figures.Add(new PathFigure());
_path = new Path { Data = geometry };
Points = new PointCollection();
}
#endregion Constructors
#region Properties
/// <summary>
/// Gets or sets a value that specifies the arc roundness.
/// </summary>
public Geometry Data
{
get
{
return _path.Data;
}
}
/// <summary>
/// Gets or sets a value that specifies if the polygon will be closed or not.
/// </summary>
public bool IsClosed
{
get
{
return _isClosed;
}
set
{
_isClosed = value;
}
}
/// <summary>
/// Gets or sets a collection that contains the points of the polygon.
/// </summary>
public PointCollection Points
{
get { return _points; }
set
{
_points = value;
}
}
protected override Geometry DefiningGeometry
{
get
{
return _path.Data;
}
}
#endregion Properties
#region Methods
private static Point CreateRectangle(Point p1, Point p2, double distance, bool firstPoint)
{
double segmentLength = Math.Sqrt(Math.Pow((p2.X - p1.X), 2) + Math.Pow((p2.Y - p1.Y), 2));
//The distance cannot be greater than half of the length of the segment
if (distance > (segmentLength / 2))
distance = segmentLength / 2;
double rap = firstPoint ? distance / segmentLength : (segmentLength - distance) / segmentLength;
return new Point(p1.X + (rap * (p2.X - p1.X)), p1.Y + (rap * (p2.Y - p1.Y)));
}
private static Point CreateCrosshair(Point p1, Point p2, double distancePercent, bool firstPoint)
{
double rap = firstPoint ? distancePercent / 100 : (100 - distancePercent) / 100;
return new Point(p1.X + (rap * (p2.X - p1.X)), p1.Y + (rap * (p2.Y - p1.Y)));
}
#endregion Methods
#region Other
#endregion Other
}
我是C#的新手,我不知道为什么会发生错误。任何人都知道我该如何更正错误?
I am new to C#, and I have no idea why the error is happening. Anyone has any idea how I should correct the error?
推荐答案
我想你的意思是
_activeType = typeof(Reticle);
不是double ==
not the double ==
这篇关于C#error CS0201:只能将赋值,调用,增量,递减和新对象表达式用作语句的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文