1

我尝试在 C# 中向颜色类添加一个方法

public static class ColorExtensions 
{
    public static System.Drawing.Color GrayTone(int Darkness)
    {
        return Color.FromArgb(255 - Darkness, 255 - Darkness, 255 - Darkness);
    }
}

但我不能像这样使用它

Color MyColor = Color.GrayTone(80);

使用

public static class ColorExtensions 
{
    public static Color MakeBlack(this Color color)
    {
        return Color.Black;
    }
}
Color Test = Color.Beige.MakeBlack();

作品。如何将 GrayTone 方法添加到颜色类?我阅读了我可以将扩展方法添加到现有的静态类吗?但不幸的是,我无法将其转化为我的情况。

4

1 回答 1

1

这不是扩展方法,因此您需要指定类型名称:

Color MyColor = ColorExtensions.GrayTone(80);

为了制作扩展方法,您需要提供一个实例Color,这需要一个实例,而不仅仅是类名。无法向现有类添加静态方法。

于 2013-05-27T17:07:39.263 回答