Что означает ошибка «Пространство имен не может напрямую содержать элементы, такие как поля или методы»? - PullRequest
0 голосов
/ 13 сентября 2018

Я добавил следующий код в свое приложение формы C # для отображения окна сообщения, когда я нажимаю кнопку закрытия .. Но это дает мне следующую ошибку ..

Ошибка CS0116 Пространство имен не может напрямую содержатьчлены, такие как поля или методы, источник ebay C: \ Users \ Supun \ Documents \ Visual Studio 2015 \ Projects \ источник ebay \ источник ebay \ Form1.cs 107 Active

это код, который я использовал..

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
    DialogResult dialog = dialog = MessageBox.Show(
      "Do you really want to close the program?", 
      "SomeTitle", 
       MessageBoxButtons.YesNo);

    if (dialog == DialogResult.No)
    {
        e.Cancel = true;
    }
}

Что мне нужно сделать, чтобы это исправить, пожалуйста?

Ответы [ 3 ]

0 голосов
/ 13 сентября 2018

Проверьте вашу функцию, как показано ниже. Я думаю, что некоторые переменные или функции находятся непосредственно под пространством имен. Держите их внутри класса.

namespace ConsoleApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
           InitializeComponent();
        }

        private void button2_Click(object sender, EventArgs e)
        {
             DialogResult dialog = dialog = MessageBox.Show("Do you really want to close the program?", "SomeTitle", MessageBoxButtons.YesNo);
             if (dialog == DialogResult.No)
             {
                 e.Cancel = true;
             }
        }
    }
}
0 голосов
/ 13 сентября 2018

Не пишите диалог дважды, используйте следующий простой код, и все будет в порядке.

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{

if (MessageBox.Show("Do you really want to exit??, "Exit", MessageBoxButtons.YesNo)== DialogResult.No)
 {
    e.Cancel = true;
 }
}
0 голосов
/ 13 сентября 2018

Я полагаю, вы объявили эту функцию вне класса?

Как

namespace Something
{
    private void Method()
    {
    }
}

Вместо

namespace Something
{
    class MyClass
    {
        private void Method()
        {
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...