Проблема в том, что никакой метод не может возвращать статический тип. Статические классы не имеют состояния (или имеют только статическое состояние) и, следовательно, имеют только один «экземпляр», который доступен глобально из любого кода, ссылающегося на пространство имен.
Вы можете вернуть цвет; Сам класс Color, хотя и имеет статические члены, не является статичным, и может существовать так много экземпляров Colors. Вы также можете применить метод расширения к цвету. Если вы сделаете это, то можете вызвать метод расширения для одного из статических членов нестатической структуры Color:
public static class MyColorsExtensions
{
public static Color ToGreyScale(this Color theColor) { ... }
}
...
var greyFromBlue = Color.Blue.ToGreyScale();