gpt4 book ai didi

c# - System.Type 到 XmlSchema 内置类型

转载 作者:太空宇宙 更新时间:2023-11-03 16:07:22 26 4
gpt4 key购买 nike

我正在将一些类属性写入 XmlSchema现在我想在 <xs:element type="xs:string"> 中写类型.

是否有一些映射类所以我不必自己编写 switch-case

public class Foo
{
public string Bar { get; set; }
}

public void WriteProperty()
{
// get the property that is a string
PropertyInfo barProperty;
XmlSchemaElement barElement;

// I don't want this huge switch case for all basic properties.
switch(barProperty.PropertyType.FullName)
{
case "System.String":
barElement.SchemaTypeName = new QualifiedName("xs:string");
break;
// also for int, and bool, and long....


default:
//do other stuff with types that are not default types
break;
}
}

最佳答案

.NET 框架没有映射类或函数来执行您需要的操作。

我建议创建一个映射字典而不是使用一个大开关:

static Dictionary<string, string> TypeMap = new Dictionary<string, string>() {
{ "System.String", "xs:string" },
{ "System.Int32", "xs:int" },
. . .
};

. . .

string schemaTypeName;
if (TypeMap.TryGetValue(barProperty.PropertyType.FullName, out schemaTypeName)) {
barElement.SchemaTypeName = new QualifiedName("xs:string");
} else {
//do other stuff with types that are not default types
}

关于c# - System.Type 到 XmlSchema 内置类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18852639/

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