gpt4 book ai didi

c# - 数据库的形状列表

转载 作者:行者123 更新时间:2023-11-30 22:48:31 26 4
gpt4 key购买 nike

我有一个通用的形状集合,我需要通过 WCF 将其存储在数据库中以供将来/共享使用。不幸的是,System.Windows.Shapes 都是密封的,所以我无法继承它们并制作它们的可序列化副本。我“可以”编写自己的自定义可序列化形状集,因为我已经为我的应用程序编写了 3 个自定义形状,但如果可能的话我希望不必这样做。

我完全知道我可以使用 XAMLReader 和 XAMLWriter 将它们从屏幕上移开,然后放回去,但这还不够好,因为包含形状的网格的大小并不总是相同,我需要相应地重新定位形状。这些形状被用作另一张图片的叠加层,将这些形状保留在背景图片上的相同位置非常重要。

如有任何想法或帮助,我们将不胜感激。

~md5sum~

最佳答案

另一种解决方案是创建序列化方法,它以参数形式出现,并将属性序列化为 xml 或您想要的任何内容。一个例子是这样的:

/// <summary>use reflection to serialize all properties and type into an xml string</summary>
/// <param name="s">shape object to be serialized</param>
/// <return>the serialized xml string</return>
public static string SerializeShape(Shape s);

/// <summary>create a new Shape object with given xml data</summary>
/// <param name="s">xml serialization generated by SerializeShape(Shape s)</param>
/// <return>the constructed shape</return>
public static Shape DeserializeShape(string s);

您可能需要稍微更改方法以更好地适应您的对象。最坏的情况是,您将不得不为不同的形状创建几对这些序列化/反序列化方法。

关于c# - 数据库的形状列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1614072/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com