【发布时间】:2009-04-09 03:33:15
【问题描述】:
我真的应该能够得到这个,但我只是到了我认为更容易问的地步。
在 C# 函数中:
public static T GetValue<T>(String value) where T:new()
{
//Magic happens here
}
什么是魔法的好实现?这背后的想法是我有 xml 来解析,并且所需的值通常是原语(bool、int、string 等),这是使用泛型的理想场所......但一个简单的解决方案目前正在躲避我.
顺便说一句,这是我需要解析的 xml 示例
<Items>
<item>
<ItemType>PIANO</ItemType>
<Name>A Yamaha piano</Name>
<properties>
<allowUpdates>false</allowUpdates>
<allowCopy>true</allowCopy>
</properties>
</item>
<item>
<ItemType>PIANO_BENCH</ItemType>
<Name>A black piano bench</Name>
<properties>
<allowUpdates>true</allowUpdates>
<allowCopy>false</allowCopy>
<url>www.yamaha.com</url>
</properties>
</item>
<item>
<ItemType>DESK_LAMP</ItemType>
<Name>A Verilux desk lamp</Name>
<properties>
<allowUpdates>true</allowUpdates>
<allowCopy>true</allowCopy>
<quantity>2</quantity>
</properties>
</item>
</Items>
【问题讨论】:
-
您能否提供您尝试解析的 XML 示例
-
想提供一个您期望得到的样本吗?在这种情况下,T 可以是很多东西......您将字符串转换为它们的能力将取决于您定义允许的内容的能力。