Смотрите мой комментарий под вопросом, но основываясь на этом утверждении:
Однако, когда я вынимаю
HttpRequest arg и измените его на
Строка это работает .... Почему это?
Первый параметр в методе расширения - с префиксом this
- определяет расширяемый тип. Таким образом, ожидаемый способ вызова этого метода будет:
HttpRequest instanceOfClassBeingExtended = new HttpRequest();
string returnValue = instanceOfClassBeingExtended.TryGetRequestValue(10000);
Метод возвращает string
и принимает только один параметр: maxLengthArg
.
Приносим извинения, если вы уже так много знаете - размещение кода, который вызывает исключение, а также самого исключения, сделает это более понятным.