gpt4 book ai didi

c# - 列出具有给定类的 [XmlAttribute] 的所有属性

转载 作者:行者123 更新时间:2023-11-30 20:36:37 26 4
gpt4 key购买 nike

例如我有一个简单的类

class SomeCfg
{
[XmlAttribute("ArchivePath")]
public string ArchivePath { get; set; }
}

可以看出,给定的类具有一个具有 XmlAttribute 的属性。但是当程序执行到那段代码时

 var t = typeof (SomeCfg);
var props = t.GetProperties().Where(
prop => Attribute.IsDefined(prop, typeof(XmlAttribute)));

运行时抛出异常

System.ArgumentException: Type passed in must be derived from System.Attribute or System.Attribute itself.

当然,当我看到类型层次结构时,我意识到这是真的(我不会讨论为什么 this 不继承那个类)。

我的问题是如何列出这些属性(在这种情况下,创建一个继承自 XmlAttribute 和 System.Attribute 的类不是一个选项)。

根据问题标签.Net版本是4.0。

最佳答案

有没有可能你用了System.Xml.XmlAttribute而不是 System.Xml.Serialization.XmlAttributeAttribute

System.Xml.XmlAttribute 用于表示来自 xml 文档的属性。System.Xml.Serialization.XmlAttributeAttribute 指定 XmlSerializer 必须将类成员序列化为 XML 属性。

关于c# - 列出具有给定类的 [XmlAttribute] 的所有属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36739234/

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