如何使用静态返回类型创建扩展方法?

Dr *_* TJ 0 c# extension-methods static

我试图为Color静态类编写一个简单的扩展方法,它返回相当于该颜色的黑色和白色.
问题是扩展方法无法返回静态类型......
那么,我该怎么做呢?!请帮我.

Kei*_*thS 8

问题是NO方法可以返回静态类型.静态类是无状态的(或者只有静态状态),因此只有一个"实例"可以从引用命名空间的任何代码全局访问.

你可以返回一个颜色; 虽然Color类本身具有静态成员,但它本身并不是静态的,因此可以存在许多Colors的实例.您还可以将扩展方法应用于颜色.如果这样做,那么您可以在非静态Color结构的一个静态成员上调用扩展方法:

public static class MyColorsExtensions
{

   public static Color ToGreyScale(this Color theColor) { ... }

}

...

var greyFromBlue = Color.Blue.ToGreyScale();
Run Code Online (Sandbox Code Playgroud)