gpt4 book ai didi

c# - 一个被包装的对象是否有可能到 "become"一个相同类型的对象?

转载 作者:太空宇宙 更新时间:2023-11-03 19:31:21 25 4
gpt4 key购买 nike

我有一个包装的 XmlDocument 类,在其中,我想检查是否有同名的缓存 XmlDocument 对象,然后“成为”该对象。有更好的方法吗?

namespace myXmlUtilities {
class SpecificAutoLoadingCmsXmlDocument : System.Xml.XmlDocument {
private string documentName = "joiseyMike.xml";

public void loadFromCms() {
if (cache[documentName] != null)
LoadXml(((XmlDocument)cache[documentName]).OuterXml);
else
// ... load from the CMS's database.
}

public SpecificAutoLoadingCmsXmlDocument() {
loadFromCms();
}
}

已编辑:我使示例更加逼真。为早期的快速版本道歉。

最佳答案

您应该改用工厂模式,这样您就可以将此逻辑放入工厂方法中。

所以你最终会得到:

public static XmlDocument GetNewDocument(string documentName) {
if (cache[documentName] != null)
return cache[documentName];
else
return new XmlDocument();
}

因此,您无需执行简单的 new XmlDocument();,而是调用静态 GetNewDocument() 方法。

关于c# - 一个被包装的对象是否有可能到 "become"一个相同类型的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4672967/

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