代码之家  ›  专栏  ›  技术社区  ›  Luca

使用XmlSerializer序列化IntPtr

  •  1
  • Luca  · 技术社区  · 14 年前

    为了解决这个问题,我将IntPtr值转换为Int64。。。但这是个好主意吗?我想应该是这样的。具体来说,我需要序列化一个窗口句柄,它在.NETFramework中的类型是IntPtr。我做得对吗?

    2 回复  |  直到 14 年前
        1
  •  3
  •   Guffa    14 年前

    IntPtr不可序列化的原因是,当您将其从环境中移除时,它通常没有任何意义。

    如果序列化窗口句柄,则只有在窗口仍然存在的情况下,在同一位置反序列化它才有意义。如果在不同的计算机上、不同的应用程序中或在删除窗口后反序列化,则句柄没有意义。

    因此,您可以将其强制转换为可序列化的类型,但这取决于您是否在反序列化时仍有意义。

        2
  •  0
  •   Tergiver    14 年前

    所以,将其转换为int64以便序列化是完全合理的。

    推荐文章