C# 匿名类型的实例是否可序列化到会话中?

C# 匿名类型的实例是否可序列化到会话中?,c#,.net,C#,.net,问题 我有一个一次性使用对象,它是几个对象及其属性的组合。我想将此匿名类型存储到会话中,然后再次将其拉出 需要回答的问题 这是个坏主意吗?如果是,有没有更好的办法?(不创建可序列化对象并将其存储在会话中) 还想知道这是否可以做到 这是个坏主意;anon类型在单个位置之外是一个糟糕的选择。有一种叫做“以身作则”的方法,但这不是一种好的做法。正确的方法只是“编写一个简单的类来表示该状态”。用自动道具,这是微不足道的 动态是另一个可行的选择(可以与anon类型对话),但再一次:您想在这里保存什么?已将

问题

我有一个一次性使用对象,它是几个对象及其属性的组合。我想将此匿名类型存储到会话中,然后再次将其拉出

需要回答的问题

  • 这是个坏主意吗?如果是,有没有更好的办法?(不创建可序列化对象并将其存储在会话中)

  • 还想知道这是否可以做到

  • 这是个坏主意;anon类型在单个位置之外是一个糟糕的选择。有一种叫做“以身作则”的方法,但这不是一种好的做法。正确的方法只是“编写一个简单的类来表示该状态”。用自动道具,这是微不足道的


    动态是另一个可行的选择(可以与anon类型对话),但再一次:您想在这里保存什么?已将POCO/DTO写入。。。在许多情况下,它甚至不需要序列化(除非您有一个进程外状态服务器;在这种情况下,拥有一个已知的DTO更加重要)。

    匿名类型打算在单个方法体中使用。任何时候你开始在不同的方法之间传递它们,你都在要求一点痛苦。在这一点上,只需定义一个具体类型并使用它就简单多了

    如果你想在匿名类型和传统POCO之间找到一个灵活的中间地带,a可能会对你很有用。

    我希望避免做额外的工作。但我想维护性比我少打字要好。谢谢你,你是“可序列化的”。。。“视情况而定”:)anon类型从来都不是
    [Serializable]
    ISerializable
    ,因此
    二进制格式化程序和
    XmlSerializer
    都会讨厌它们。。。但是,如果必须这样做,它们可以用自定义代码序列化。但编写DTO更快、更简单、更安全。