动态装饰对象在c#

前端之家收集整理的这篇文章主要介绍了动态装饰对象在c#前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
是否可以容易地和动态地装饰一个对象?

例如,让我说我有一个List< PointF>.这个列表实际上是正弦函数的图.我想通过这些观点,并为每个PointF添加一个标志是否是一个高峰.

但是我不想创建一个新的扩展SpecialPointF或其他具有布尔属性的东西.

判断我所有你想要懒惰,但懒惰是如何真棒的想法(也是坏主意)

编辑:我会接受拳击解决方案以及你可以想出的任何有趣的黑客.没有什么真正阻止我得出.我只想知道是否有更有趣的方式.

解决方法

如果有一种方式可以计算出每点,则不需要添加标志,可以使用 extension方法,而无需扩展它.

像PointF.isPeak();

它的工作原理如下:

public static class Extensions
{
    public static bool isPeak (this PointF p)
    {
        do crazy math...

        return result;
    }
}

而且,您可以在PointF类中进行计算.

顺便说一句,公共静态类必须在最外层的范围内,不能嵌套.

原文链接:https://www.f2er.com/csharp/97187.html

猜你在找的C#相关文章