我正在写一些验证码.代码将传递到Web服务中的数据并决定它是否可以执行操作,或者向调用者返回他们错过了某些字段等的消息.
我有它主要工作除了数组.我使用[RequiredField]属性标记属性以表示所需的字段.所以,如果这是我的一些数据,
public enum EnumTest
{
Value1,
Value2
}
[DataContract]
public class DummyWebserviceData
{
[DataMember]
[RequiredField]
public EnumTest[] EnumTest{ get; set; }
[DataMember]
[RequiredField]
public DummyWebserviceData2[] ArrayOfData { get; set; }
}
[DataContract]
public class DummyWebserviceData2
{
[DataMember]
[RequiredField]
public string FirstName { get; set;}
[DataMember]
[RequiredField]
public string LastName { get; set;}
[DataMember]
public string Description { get; set;}
}
Run Code Online (Sandbox Code Playgroud)
那我该怎么办?我有日期验证和字符串工作.它使用递归来获取数据所需的任何深度级别.
但是......那么那两个阵列怎么样呢.第一个是枚举数组.我想检查一下这个数组不是空的情况.
第二个是DummyWebserviceData2值的数组.我需要拉出每个值并单独查看它.
为了简化我编写的代码,它看起来像这样,
foreach (PropertyInfo propertyInfo in data.GetType().GetProperties())
{
if (propertyInfo.PropertyType.IsArray)
{
// this craps out
object[] array …Run Code Online (Sandbox Code Playgroud)