如何向密封的 Arc 类添加两个新属性。我想用一个 double 属性来扩展这个类来保存一个 double 值和一个字符串属性来保存对象的名称。我的第一次尝试是通过 Tag 属性,但这只能保存双精度值或对象名称。
问题是我创建了一个包含 43 个圆弧对象的新用户控件,当鼠标进入圆弧时,另一个控件会显示输入段的值和名称。所以每个弧都使用相同的 MouseEntered 函数,我想通过“对象发送者”获取信息。
我希望任何人都有一个好主意。
如何向密封的 Arc 类添加两个新属性。我想用一个 double 属性来扩展这个类来保存一个 double 值和一个字符串属性来保存对象的名称。我的第一次尝试是通过 Tag 属性,但这只能保存双精度值或对象名称。
问题是我创建了一个包含 43 个圆弧对象的新用户控件,当鼠标进入圆弧时,另一个控件会显示输入段的值和名称。所以每个弧都使用相同的 MouseEntered 函数,我想通过“对象发送者”获取信息。
我希望任何人都有一个好主意。
您可以使用复合模式。
class SuperArc
{
Arc Arc { get; set; }
// other properties.
}
你不能。它是密封的。任何一个:
Arc
属性的新类。Arc.Tag
.对于您的特定问题,我建议上面的#2 或存储一个Dictionary<Arc, blahblahblah>
或Dictionary<string, blahblahblah>
(按名称)并查找您需要的信息。#1 需要大量开销来包装绘图所需的所有方法和属性,而且可能比它的价值更麻烦。
您不能扩展密封类。
尝试创建自己的类并将 Arc 作为类成员,并公开此成员函数。
最好的祝福。