UserControl 배열, 각 컨트롤에는 레이블의 텍스트를 설정하는 메소드가 있지만 NullReferenceException을 얻습니다. 돕다!
-
06-07-2019 - |
문제
그래서 배열을 만듭니다.
TorrentItem[] torrents = new TorrentItem[10];
그만큼 Torrentitem 컨트롤에는이라는 메소드가 있습니다 settorrentName (문자열 이름):
private void SetTorrentName(string Name)
{
label1.Text = Name;
}
나는 루프를 사용하여 10 개의 토렌지를 채우고 있습니다.
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?
}
해결책
10 개 객체에 대한 참조 배열을 만들지 만 배열에서 10 개의 객체를 만들지는 않습니다. 모든 배열 요소입니다 null
달리 초기화 될 때까지.
for( int i = 0; i < 10; ++i )
{
torrents[i] = new TorrentItem();
/* do something with torrents[i] */
}
그러나 이름 초기화는 아마도 생성자에 넣을 수 있습니다.
다른 팁
각 개별 토렌지를 초기화해야합니다.
for (int i = 0; i < 10; i++)
{
TorrentItem[i] = new TorrentItem(); //Initialize each element of the array
test = i.ToString();
TorrentItem[i].SetTorrentName(test); //I get a null reference error here.
//What am I doing wrong?
}
제휴하지 않습니다 StackOverflow