C#泛型获取传入的动态类型参数的属性值的问题
publicTSort<T>(TSortObj,stringsortKey,stringKey){vartt=SortObj.GetType().GetProperty(...
public T Sort<T>(T SortObj, string sortKey, string Key)
{
var tt = SortObj.GetType().GetProperty(Key).GetValue(SortObj, null);
//tt是一个obj类型,tt下面的那个[0]就是我需要的数据,可是我不知道怎么才能取出里面的值
}
T的类型大概如下面
[XmlRoot("SeachGroupRes")]
public class SeachGroupRes
{
public SeachGroupRes()
{
Group = new List<SeachGroupItemRes>();
}
[XmlElement("Group"), JsonProperty("Group")]
public List<SeachGroupItemRes> Group { get; set; }
public bool HasData { get; set; }
}
public class SeachGroupItemRes
{
public string GroupId { get; set; }
public string TitleImage { get; set; }
public string Title { get; set; }
public CData Introduction { get; set; }
public int BuyNumber { get; set; }
public decimal OldPrice { get; set; }
public decimal NowPrice { get; set; }
public decimal VipPrice { get; set; }
public bool HasVip { get; set; }
public decimal Longitude { get; set; }
public decimal Latitude { get; set; }
public string Distance { get; set; }
}
tt[0]是不行的
tt.tolist<>()[0]不行,tt是obj类型啊,只有tostring()这些基础方法 展开
{
var tt = SortObj.GetType().GetProperty(Key).GetValue(SortObj, null);
//tt是一个obj类型,tt下面的那个[0]就是我需要的数据,可是我不知道怎么才能取出里面的值
}
T的类型大概如下面
[XmlRoot("SeachGroupRes")]
public class SeachGroupRes
{
public SeachGroupRes()
{
Group = new List<SeachGroupItemRes>();
}
[XmlElement("Group"), JsonProperty("Group")]
public List<SeachGroupItemRes> Group { get; set; }
public bool HasData { get; set; }
}
public class SeachGroupItemRes
{
public string GroupId { get; set; }
public string TitleImage { get; set; }
public string Title { get; set; }
public CData Introduction { get; set; }
public int BuyNumber { get; set; }
public decimal OldPrice { get; set; }
public decimal NowPrice { get; set; }
public decimal VipPrice { get; set; }
public bool HasVip { get; set; }
public decimal Longitude { get; set; }
public decimal Latitude { get; set; }
public string Distance { get; set; }
}
tt[0]是不行的
tt.tolist<>()[0]不行,tt是obj类型啊,只有tostring()这些基础方法 展开
4个回答
展开全部
tt[0]就是你所要的数据
你看看你的[0]里面的数据是什么类型。先将tt强制转换为你的[0]一样的类型。强制转换可以用Convert.ToDouble(tt)。然后比如转换后为ss,则ss[0]即为想要的数据。
你看看你的[0]里面的数据是什么类型。先将tt强制转换为你的[0]一样的类型。强制转换可以用Convert.ToDouble(tt)。然后比如转换后为ss,则ss[0]即为想要的数据。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
var tt = SortObj.GetType().GetProperty(Key).GetValue(SortObj, null);
改为
dynamic tt = SortObj.GetType().GetProperty(Key).GetValue(SortObj, null);
改为
dynamic tt = SortObj.GetType().GetProperty(Key).GetValue(SortObj, null);
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
tt.tolist<>()[0]
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
object o = tt[0];
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询