Это прекрасно работает:Сериализованный состав Func?
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;
Он бросает исключение во время выполнения сериализации: Type 'MyProjectName._Default+<>c__DisplayClass3' in Assembly 'MyProjectName, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' is not marked as serializable.
Теперь я могу работать вокруг этого на этот раз, но я «Я хотел бы понять, почему это происходит, так что, если в будущем у меня не останется выбора, кроме как составить функции перед сериализацией, у меня будет решение.
Сериализация Func к представлению? Извините, но это просто кричит плохой дизайн, и я бы не рекомендовал его. Можете ли вы описать функциональность, которую вы пытаетесь реализовать, может быть, кто-то может предложить лучший подход. – Juliet