List<List<HeaderTypeEnq<dynamic>>> IDEnq = new List<List<HeaderTypeEnq<dynamic>>>();
List<HeaderTypeEnq<dynamic>> IDListEnq = new List<HeaderTypeEnq<dynamic>>();
for (int i = 0; i < enq.Id.Count; i++)
{
IDListEnq.Add(new HeaderTypeEnq<dynamic>() { FieldTag = "ID", FieldName = "Segment Tag", Value = enq.Id[i].SegmentTag, Mandatory = "Y", CharacterType = "A", MaxLength = 03 });
IDListEnq.Add(new HeaderTypeEnq<dynamic>() { FieldTag = "01", FieldName = "ID Type", Value = enq.Id[i].IDType, Mandatory = "Y", CharacterType = "N", MaxLength = 02 });
IDListEnq.Add(new HeaderTypeEnq<dynamic>() { FieldTag = "02", FieldName = "ID Number", Value = enq.Id[i].IDNumber, Mandatory = "N", CharacterType = "P", MaxLength = 30 });
IDEnq.Add(IDListEnq);
}
ValidateValue<List<HeaderTypeEnq<dynamic>>>(IDEnq, concaDel);
private string ValidateValue<T>(object EnqTagList, ValidationDelegate del)
{
//errorstr = "";
Type typeParameterType = typeof(T);
if (typeof(T) == typeof(List<HeaderTypeEnq<dynamic>>))
{
//code
}
根据我的理解,if (typeof(T) == typeof(List<HeaderTypeEnq<dynamic>>))
应返回false为IDEnq
(列表的列表),但它返回true!如何查找给定对象是否为通用列表<T>或列表列表<T>?
你这样称呼它:'ValidateValue <名单 >>(...)',所以'T'的'名单>'。因此,'typeof(T)'等于'typeof(List >)'并不令人惊讶。 –
poke
您正在传递相同的列表并获取其类型,因此它将始终为真。 – Mairaj