C# 获取一个var';C中泛型列表中预定义类的s值#
我正在尝试使用xmlsocketer.com制作一个“自动足球联赛获得者”。他们有用于库的.dll文件,我按照下面视频中的说明设法做到了这一点 但是,返回的容器的代码如下所示C# 获取一个var';C中泛型列表中预定义类的s值#,c#,list,api,generics,var,C#,List,Api,Generics,Var,我正在尝试使用xmlsocketer.com制作一个“自动足球联赛获得者”。他们有用于库的.dll文件,我按照下面视频中的说明设法做到了这一点 但是,返回的容器的代码如下所示 var liveMatches = requester.GetAllLeagues(); 我尝试获取liveMatches的类型,得到了类型“System.Collections.Generic.List`1[XMLSoccerCOM.League],所以它看起来像是一个类似List(T)的通用列表。但是我的代码
var liveMatches = requester.GetAllLeagues();
我尝试获取liveMatches的类型,得到了类型“System.Collections.Generic.List`1[XMLSoccerCOM.League],所以它看起来像是一个类似List(T)的通用列表。但是我的代码中没有定义t类,因为它是从xmlsocket.com返回的,我不能对它做任何事情
我用
要显示与gridview的liveMatches,有很多列。我认为它们是T类型的私有变量
为了确定,我试过了
liveMatches.Find(f => f.Name == "Scottish Premier League");
去看看liveMaches里有什么。“f”之后是datagridview中的列标题
假设我不想只从列表的第2行中获得一些列,如“名称”、“体育场”和“Homegoal”,那么我该怎么做呢?如果T类型是由我定义的,我可能会通过getter()来完成。谢谢。这个问题的答案应该是显而易见的。您的
列表
与任何其他通用列表
一样,您的联盟
对象的属性与任何其他属性一样。你试图把非常简单的事情复杂化,例如
var leagues = requester.GetAllLeagues();
foreach (var league in leagues)
{
MessageBox.Show(league.Name, "Name");
}
以相同的方式获取
联盟
对象的任何其他属性值。如果您只想要列表中的前两个联盟,那么使用leagues.Take(2)
如果您引用了它们的DLL,那么肯定在该DLL中定义了XMLSoccerCOM.League
。使用“对象浏览器”窗口可以查看项目可以访问哪些程序集、这些程序集包含哪些名称空间以及这些名称空间包含哪些类型。我想你会发现上面列出的类型。是的,它是在那里定义的,但是没有方法可以读取数据,我不知道是否还有其他方法可以读取值…为什么你需要一个方法?这是一笔财产。你得到它的值的方法和你得到其他属性值的方法一样。哎呀,我从来没有想过这个。C#对我来说是新事物。谢谢,我来试试。
var leagues = requester.GetAllLeagues();
foreach (var league in leagues)
{
MessageBox.Show(league.Name, "Name");
}