假设我有这段代码。如何将smallGroups
传递给UpdatePlayer
表单。我需要能够将生成的数据带到var列表中,并在UpdatePlayer
中使用它来填充combobox
。
public class GroupsPlayers
{
public string GroupID;
public string GroupName;
}
public void Groups() {
var smallGroups = new List<GroupsPlayers>();
while(rd.Read())
{
var currentPlayer = new GroupsPlayers() {
};
smallGroups.Add(currentPlayer);
}
MessageBoxResult userResponse = MessageBox.Show(msgBoxMsg, "Groups Manager", MessageBoxButtons.YesNo);
if(userResponse == DialogResult.Yes)
{
UpdatePlayer frmPlayers = new UpdatePlayer(this, smallGroups);
}
}
答案 0 :(得分:2)
如果您可以使用第二种形式访问GroupsPlayers类型(您将其公开,那么),您只需要通过适当的构造函数传递此集合。检查下面的代码,我觉得它很简单。如果您有任何疑问 - 请发表评论。
在第二种形式中创建构造函数:
public class UpdatePlayer : Form
{
List<GroupsPlayers> _GroupPlayers;
UpdatePlayer (List<GroupsPlayers> GroupPlayers)
{
_GroupPlayers = GroupPlayers; // here You are "Catching" the value You have passed in first form and assigning it to _GroupPlayers property
}
}
以第一种形式:
UpdatePlayer secondForm = new UpdatePlayer (smallGroups);
答案 1 :(得分:0)
了解'var'的重要一点是它不是变量类型。它的类型是在编译时静态确定的。
var smallGroups = new List<GroupsPlayers>();
与
相同List<GroupsPlayers> smallGroups = new List<GroupsPlayers>();
这意味着您的UpdatePlayer表单必须将其List或其子类作为其构造函数中的参数。例如,它可以使用IList。 'var'就是为了保存打字的类型,或者使重构更清晰。