gpt4 book ai didi

c# - 如何控制可以添加到 XElement 的对象类型?

转载 作者:太空宇宙 更新时间:2023-11-03 11:46:45 24 4
gpt4 key购买 nike

有没有办法创建一个派生自 XElement 的类? , 还可以控制可以添加到其中的对象类型?

例如,假设我有这个...

public class HtmlHead : XElement {}

但我无法覆盖 Add()方法,因为它位于 XContainer 处等级。即使我要创建一个派生自 XContainer 的类我仍然无权覆盖 Add()方法。

你问我为什么要这样做?

我想确保如果我的程序编译,它也能正确解析 HTML。比如,您只能将某些元素添加到 HTML <head>标签,所以我想确保只能添加​​支持的标签。

当然,您不会添加 <anchor>标记到 <head>标记——你感觉到我了吗?

最佳答案

您可以通过构造函数控制传递的名称。

public class HtmlHead : XElement
{
public HtmlHead(object content) : base("head")
{
this.Add(content);
}

public HtmlHead(params object[] content) : base("head", content) { }
}

添加项目时,会执行更改通知,或者您可以创建每个人都应该使用的自定义添加方法。

关于c# - 如何控制可以添加到 XElement 的对象类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3221887/

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