【发布时间】:2025-12-20 09:35:11
【问题描述】:
我正在尝试编写一个应该能够解析 xml 文件的通用函数
这里是代码
public struct XmlArg
{
public string Name;
public Type T;
public object Value;
};
static bool ParseXmlArgs(XmlReader xml, params XmlArg[] args)
{
for (int i = 0; i < args.Length; ++i)
{
if (xml.MoveToContent() != XmlNodeType.Element || xml.Name != args[i].Name)
{
return false;
}
args[i].Value = xml.ReadElementContentAs(args[i].T, null);
}
return true;
}
static void Main(string[] args)
{
int a = 0;
ParseXmlArgs(
XmlTextReader.Create("C:\\Users\\Yazilim\\Desktop\\XML.xml"),
new XmlArg[]{
new XmlArg() { Name = "ErrorCode", T = typeof(int), Value = a}});
}
我知道我应该将 a 的指针传递给 Value(它的类型当然应该是 object 以外的其他类型)
但我不希望它是非托管方式。
是否有任何托管方式在结构中使用变量的指针?
(函数可能有错或不正确,这不是重点)
【问题讨论】:
-
我不明白为什么需要指针,C# 中的所有内容都已经是引用类型。请更好地解释您要达到的目标以及问题所在。
标签: c# pointers structure managed