Удалите поле 'button1' и объявите его как локальную переменную в соответствующих методах - PullRequest
0 голосов
/ 23 января 2019

я рассматриваю свой код с кодировкой, и кодирование говорит мне следующее:

Remove the 'button1' field and declare it as a local variable in the relevant methods.

Строка, которую означает кодировка, - это кнопка Button1;

Метод в этом случае button1_Click

мой код (только небольшой пример, потому что мой код намного больше):

namespace WindowsFormsApp1
{
    public class Form1 : Form
    {
        private Button button1;

        public Form1()
        {
            InitializeComponent();
        }
        #region Vom Windows Form-Designer generierter Code
        private void InitializeComponent()
        {
            this.button1 = new System.Windows.Forms.Button();
            this.SuspendLayout();
            // 
            // button1
            // 
            this.button1.Location = new System.Drawing.Point(349, 155);
            this.button1.Name = "button1";
            this.button1.Size = new System.Drawing.Size(75, 23);
            this.button1.TabIndex = 0;
            this.button1.Text = "button1";
            this.button1.UseVisualStyleBackColor = true;
            this.button1.Click += new System.EventHandler(this.button1_Click);
            // 
            // Form1
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(800, 450);
            this.Controls.Add(this.button1);
            this.Name = "Form1";
            this.Text = "Form1";
            this.Load += new System.EventHandler(this.Form1_Load);
            this.ResumeLayout(false);

        }
        #endregion
        private void button1_Click(object sender, EventArgs e)
        {

        }
    }
}

Я не знаю, как это сделать, может кто-нибудь объяснить мне, что делать здесь?Привет

Ответы [ 2 ]

0 голосов
/ 23 января 2019

Удалите поле 'button1' и объявите его как локальную переменную в соответствующих методах.

Не.

Код, который вы показываете, создан дизайнером Windows Forms. Если вы измените его, вероятно, произойдет одно из двух:

  1. Хуже дела - вы ломаете форму.
  2. Лучший вариант - дизайнер перезаписывает ваши изменения при следующем вызове.

Ни один из них не идеален, и оба совершенно излишни. Похоже, что у вас есть инструмент статического анализа, который полезен для анализа кода, который вы пишете, но по существу бессмыслен для кода, который вы не пишете, и генерируется инструментом. (Вам также не нужно анализировать код из сторонних библиотек, например.)

Честно говоря, просто установите ваши статические инструменты анализа, чтобы игнорировать сгенерированный код. (Этот же совет относится и к показателям покрытия модульных тестов. Особенно, когда речь идет о тысячах строк, генерируемых клиентами службы SOAP в Visual Studio. Одна интеграция с унаследованным веб-сервисом может убить ваши показатели анализа, если вы примете это во внимание, и реального ценность при этом.)

0 голосов
/ 23 января 2019

На вкладке редактирования формы выберите эту кнопку и установите для GenerateMember значение false.Но учтите, что вы не сможете использовать эту кнопку в коде позади.

enter image description here

...