下面是我的 XML 文件:
<Visibilities>
<Visibilities AppName="Test2">
<Visibility DisplayName="Full Name">
<FullName>
<FirstName PropertyName="FullName.FirstName" DisplayName="First Name" ListOrder="3"></FirstName>
<MiddleName PropertyName="FullName.MiddleName" DisplayName="Middle Name" ListOrder="2"></MiddleName>
<LastName PropertyName="FullName.LastName" DisplayName="Last Name" ListOrder="1"></LastName>
</FullName>
</Visibility>
</Visibilities>
</Visibilities>
下面是我的课
#region FullName
[Serializable]
public class FullName
{
private String strFirstName;
[XmlElement("FirstName")]
public String FirstName
{
get { return strFirstName; }
set { strFirstName = value; }
}
private String strMiddleName;
[XmlElement("MiddleName")]
public String MiddleName
{
get { return strMiddleName; }
set { strMiddleName = value; }
}
private String strLastName;
[XmlElement("LastName")]
public String LastName
{
get { return strLastName; }
set { strLastName = value; }
}
[XmlElement("ListOrder")]
public int ListOrder { get; set; }
}
#endregion
#region Visibility
[Serializable]
public class Visibility
{
public FullName FullName { get; set; }
[XmlAttribute("DisplayName")]
public String DisplayName { get; set; }
}
#endregion
#region Visibilities
[Serializable]
public class Visibilities
{
[XmlAttribute("AppName")]
public String AppName { get; set; }
[XmlElement("Visibility")]
public List<Visibility> Visibility { get; set; }
}
#endregion
下面的代码行是我的阅读方式:
foreach (Visibility vis in l.Visibility.ToList())
{
Console.WriteLine(vis.DisplayName);
Console.WriteLine("{0}{1}", vis.FullName.FirstName, Reflect.GetPropValue<String>(cust, vis.FullName.FirstName));
}
我必须做哪些修改才能使用类或 readind 代码部分从 First、Middle、Last Name 读取属性值,即 PropertyName、DisplayName、ListOrder?