Недавно я начал с пользой использовать методы расширения C#. Примеры SO и документация предполагают, что они используются только для методов экземпляра (т.е. с ключевым словом this
). Можно ли использовать их (или другой подход) со статическими/классовыми методами?
(Мое особое требование заключается в преобразовании кода Java в C#, где «большая часть кода» не нуждается в редактировании. Методы экземпляра Java (например, Java String.indexOf()
) могут быть перенаправлены через метод расширения, вызывающий C# string.IndexOf()
). Я хотел бы сделать то же самое, скажем, для Java Math.abs()
=> C# Math.Abs()
).
РЕЗЮМЕ Нет. Судя по ответам, это было бы разумно, но вряд ли это произойдет в ближайшее время. Обходные пути потребуют редактирования, создания новых классов или чего-то подобного, и, возможно, оно того не стоит.