gpt4 book ai didi

c# - 如何检查 WPF 资源是否存在?

转载 作者:行者123 更新时间:2023-11-30 19:42:44 30 4
gpt4 key购买 nike

我有一个应用程序,它读取特定类型的 XML 文件。这些 XML 文件可以相互引用,例如:

<MyXml>
<Reference Path="pack://application:,,,/MyOtherXML.xml"/>
<!--More data-->
</MyXml>

这主要是因为它们很长,您不想重复 180 多行 XML。

但是,如果文件是资源,我不确定如何检查文件是否存在。我知道,如果它们是普通文件,我可以只使用 File.Exists,但我认为您不能对资源这样做。我还找到了this ,但答案似乎是错误的。那么如何检查 WPF 上是否存在资源?

最佳答案

您需要使用 GetManifestResourceStream 来获取资源并从字典中读取键集合,如下所示 -

    public static string[] GetResourceNames()
{
var assembly = Assembly.GetExecutingAssembly();
string resName = assembly.GetName().Name + ".g.resources";
using (var stream = assembly.GetManifestResourceStream(resName))
{
using (var reader = new System.Resources.ResourceReader(stream))
{
return reader.Cast<DictionaryEntry>().Select(entry =>
(string)entry.Key).ToArray();
}
}
}

关于c# - 如何检查 WPF 资源是否存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16870698/

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