Это работает нормально:
Func<string, string> func1 = s => s + "func";
ViewState["function"] = func1;
Однако этого не происходит:
Func<string, string> func1 = s => s + "func";
Func<string, string> func2 = s => func1(s);
ViewState["function"] = func2;
Выдается исключение сериализации во время выполнения: Введите MyProjectName._Default + <> c__DisplayClass3 в сборке MyProjectName, версия = 1.0. 0.0, Culture = нейтральный, PublicKeyToken = null 'не помечен как сериализуемый.
Теперь я могу обойти это в этот раз, но я хотел бы понять, почему это происходит, чтобы, если в будущем у меня нет выбора, кроме как составлять функции перед сериализацией, у меня будет решение.