UserControl 数组,每个控件都有一个方法来设置其中的标签文本,但会出现 NullReferenceException。帮助!
因此,我创建了一个数组:
TorrentItem[] torrents = new TorrentItem[10];
TorrentItem 控件有一个名为 SetTorrentName(string name) 的方法:
private void SetTorrentName(string Name)
{
label1.Text = Name;
}
我使用 for 循环来填充 10 个 TorrentItem,如下所示:
private TorrentItem[] GetTorrents()
{
TorrentItem[] torrents = new TorrentItem[10];
string test = "";
for (int i = 0; i < 10; i++)
{
test = i.ToString();
TorrentItem[i].SetTorrentName(test); //I get a null reference error here.
//What am I doing wrong?
}
So, I create an array:
TorrentItem[] torrents = new TorrentItem[10];
The TorrentItem control has a method called SetTorrentName(string name):
private void SetTorrentName(string Name)
{
label1.Text = Name;
}
I'm using a for loop to populate 10 TorrentItems like so:
private TorrentItem[] GetTorrents()
{
TorrentItem[] torrents = new TorrentItem[10];
string test = "";
for (int i = 0; i < 10; i++)
{
test = i.ToString();
TorrentItem[i].SetTorrentName(test); //I get a null reference error here.
//What am I doing wrong?
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您创建了一个包含 10 个对象的引用的数组,但并未在数组中创建这 10 个对象。在以其他方式初始化之前,所有数组元素均为
null
。但是,名称初始化可能会放入构造函数中。
You create an array of references to 10 objects, but you do not create the 10 objects in the array. All array elements are
null
until initialized otherwise.However, the name initialization could probably be put into the constructor.
您需要初始化每个单独的 TorrentItem:
You need to initialize each individual TorrentItem: