Это вызов функции с нужными параметрами?
Да
Имя функции надо указывать?
Когда вокруг определения функции стоят круглые скобки и вызов идет сразу после функции, то имя не нужно указывать (или нельзя, не знаю точно).
Да
а в этом коде передаются сами значения входных параметров с + по краям?
Да, символ "+" тут нужен как конкатенация в C#. Можно использовать String.Format и передавать через него, тогда не нужно будет конкатенацию делать.
Вроде как да, визуально выглядит что всё окей, нужно уже тестировать.
Но вначале нужно будет убедиться что этот код рабочий, а сделать это очень просто - через кубик "Свой JavaScript код" (выполнять: на текущей странице), просто там и определение функции вписать и её вызов. Можно даже в таком же стиле как тут (как передаем в метод EvaluateScript).
PS: если что - не обязательно в одну строчку запихивать тело функции.
Update: только сейчас заметил - там return необязательный, и тело функции должно быть как в примере на JS выше, return НЕ должен стоять перед началом функции!!!
Неправильно:
string data = instance.ActiveTab.MainDocument.EvaluateScript("(function(blobUrl, fileName) {return ВСЕ тело функции, например из переменной})(" + Параметр 1 для blobUrl+ ", " + Параметр 2 для fileName +");");
Правильно:
string data = instance.ActiveTab.MainDocument.EvaluateScript("(function(blobUrl, fileName) {ВСЕ тело функции, например из переменной, в том числе в конце МОЖЕТ быть return что-то;})(" + Параметр 1 для blobUrl+ ", " + Параметр 2 для fileName +");");