我想向矩形添加其他值。例如“名称”字符串。
类似这样的东西:
Rectangle MyRectangle = new Rectangle(Y, X, Width, Height, Name)
这可能吗?
答案 0 :(得分:1)
Rectangle类中有两个重载构造函数。
public Rectangle(Point location, Size size);
public Rectangle(int x, int y, int width, int height);
但是new Rectangle([int], [int], [int], [int], [string])
类中没有构造函数函数参数Rectangle
。
您可以尝试在类中使用复合public Rectangle rect { get; set; }
属性。
然后使用构造函数设置Rectangle
对象和Name
public class CustomerRectangle
{
public Rectangle Rect { get; set; }
public string Name { get; set; }
public CustomerRectangle(int llx, int lly, int urx, int ury,string name)
{
Rect = new Rectangle(llx, lly, urx, ury);
Name = name;
}
}
然后您可以使用
CustomerRectangle MyRectangle = new CustomerRectangle (Y, X, Width, Height, Name);
//MyRectangle.Name; use Name property
//MyRectangle.Rect; use Rectangle
答案 1 :(得分:1)
我假设您正在使用System.Drawing命名空间中的构造函数: https://docs.microsoft.com/en-us/dotnet/api/system.drawing.rectangle?view=netframework-4.7.2
不可能在该结构中添加额外的字段。您可以做的是创建自己的包含更多内容的类或结构。
public class NamedRectangle
{
public string Name { get; set; }
public double X { get; set; }
public double Y { get; set; }
public double Width { get; set; }
public double Height { get; set; }
public NamedRectangle(double x, double y, double width, double height, string name)
{
Name = name;
X = x;
Y = y;
Width = width;
Height = height;
}
}
答案 2 :(得分:0)
我已经看到其他人提供了很好的示例,但是如果出现Cannot inherit from sealed type
错误,以下示例可能会为您提供帮助:
public class myRectangle
{
private Rectangle newRectangle = new Rectangle();
private string name;
public myRectangle Rectangle(Int32 Y, Int32 X, Int32 Height, Int32 Width, string name )
{
newRectangle.Y = Y;
newRectangle.X = X;
newRectangle.Height = Height;
newRectangle.Width = Width;
this.name = name;
return this;
}
}