繁体   English   中英

如何向密封类Arc添加属性

[英]How to add a property to the sealed class Arc

如何向密封的Arc类添加两个新属性。 我想扩展类,使其具有double属性以容纳double值,并具有string属性以容纳对象的名称。 我的第一次尝试是通过Tag属性,但是它只能容纳double值或对象名称。

问题是我创建了一个带有43个圆弧对象的新用户控件,当鼠标进入圆弧时,另一个控件显示了输入段的值和名称。 因此,每条弧线都使用SAME MouseEntered函数,我想通过“对象发送者”获得信息。

我希望任何人都有一个好主意。

您可以使用复合模式。

class SuperArc
{
   Arc Arc { get; set; }
   // other properties.
}

你不能。 密封了 或者:

  1. 创建一个包含 Arc作为属性的新类。
  2. 将元组或其他对象存储在Arc.Tag
  3. 用属性装饰弧

对于您的特定问题,我建议使用上面的#2或存储Dictionary<Arc, blahblahblah>Dictionary<string, blahblahblah> (按名称),并查找所需的信息。 #1花费了很多开销来包装您绘制所需的所有方法和属性,并且可能比它的价值还要麻烦。

您无法扩展密封的类别。

尝试创建自己的类并将Arc作为类成员,并公开此成员函数。

最好的祝福。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM