Я немного запутался, почему это не дает ошибки. Я нашел этот код глубоко внутри устаревшего программного обеспечения и с удивлением увидел, как он работает.
public static string CleanFileName(this string fileName)
{
return CleanFileName(fileName, 64);
}
public static string CleanFileName(this string fileName, int maxLength)
{
//some logic
}
Мой опыт работы с методами расширения таков:
fileName.CleanFileName(64);
Это работает только потому, что это статический метод? Это обычная практика и просто что-то, чего я еще не видел, или устаревший унаследованный код, который я должен убить огнем?