Относительно Visual C # MenuItem: Откуда берется NullReference? - PullRequest
0 голосов
/ 31 мая 2010

У меня проблема с созданием MenuItems для TreeView динамически: вот (упрощенный) код, который я использую.

public class CTMProvider
{
    private CTM myObject;
    //internal CTMManager manager;
    //internal string IEEEAddress;
    //internal System.Net.Endpoint endpoint;

    public CTMProvider()
    {
        myObject = new CTM(this);
    }

    void Disconnect(object sender, EventArgs ea) {
        //Function disconnects a tcp link
    }
}

public class CTM : System.Windows.Forms.TreeNode
{
    public CTM(CTMProvider provider)
    {
        //this.provider = provider;
        //this.manager = provider.manager;
        //this.IEEEAddress = provider.IEEEAddress;
        //this.endpoint = provider.state._conn.RemoteEndPoint;
        this.Text = String.Format("CTM: {0} {0}", IEEEAddress, ((System.Net.IPEndPoint)endpoint).ToString());
        MenuItem meni = new MenuItem("Disconnect", new System.EventHandler(this.provider.Disconnect)));
        this.ContextMenu.MenuItems.Add(meni);  // <-----
    }
}

Этот код всегда вызывает исключение NullReferenceException, когда я пытаюсь добавить свой элемент меню в список MenuItems. Есть идеи?

1 Ответ

1 голос
/ 31 мая 2010

В Visual Studio перейдите в «Отладка-> Исключения ...» (или Ctrl + Alt + E) и установите флажок Общие языковые исключения во время выполнения в столбце Брошенный .Теперь исключение будет отображаться точно в том месте, где это произошло, а не только в блоке catch.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...