2

ウィンドウフォームアプリケーションを作成しています。ファイルForm1.Designer.csを見ると、自動生成されたコードで見た

        this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
        this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
        this.ClientSize = new System.Drawing.Size(284, 262);
        this.Controls.Add(this.button2);
        this.Controls.Add(this.button1);
        this.Name = "Form1";
        this.Text = "Form1";
        this.ResumeLayout(false);

これはそこで何を伝え、これを c# で使用できる方法はいくつありますか

4

5 に答える 5

6

クラスの現在のインスタンスを参照します。ReSharper などのツールを使用している場合は、冗長であると見なされることがあります。

public class Test
{
        private string testVariable;

        public Test(string testVariable) 
        {
            this.testVariable = testVariable;
        }
}

このコンテキストでは、コンストラクターを介して渡されるものではthis.testVariableなく、クラス内のプライベート文字列を参照します。testVariable

http://msdn.microsoft.com/en-gb/library/dk1507sz(v=vs.71).aspx

于 2013-02-24T14:50:29.153 に答える
4

thisキーワードは、クラスの現在のインスタンスを参照します。この場合、ロード中の Form1 のインスタンスです。

なぜそれを使用するのかについては、変数を区別するのに役立ちます-たとえば

 private string bar;

 private void Foo(string bar)
 {
   this.bar = bar;
 }

(ただし、上記のコードでは、多くの人がプライベート バーは _bar であるべきだと主張します)

これについての詳細は

于 2013-02-24T14:52:27.203 に答える
3

this キーワードは、クラスの現在のインスタンスを参照し、拡張メソッドの最初のパラメーターの修飾子としても使用されます。

  • thisキーワードは、クラスの現在のインスタンスを参照します。コンストラクター、インスタンス メソッド、およびインスタンス アクセサー内からメンバーにアクセスするために使用できます。
  • this名前の競合をなくします。
  • thisstatic フィールドまたはメソッドを参照することはできません。静的クラス内では発生しません。
  • キーワードは、thisコンパイラによって推測されます。
于 2013-02-24T14:53:15.043 に答える
3

thisキーワードは、の現在のインスタンスを参照し、class拡張メソッドの最初のパラメーターの修飾子としても使用されます。

public Employee(string name, string alias)
{
// Use this to qualify the fields, name and alias:
this.name = name;
this.alias = alias;
}
于 2013-02-24T14:52:18.583 に答える
2
  class program
{
   public int x = 10;
    public void fun1()
    {

        Console.WriteLine("as you wish");
    }
}
class program2:program
{
    public void fun2()
    {
        Console.WriteLine("no");

        this.fun2(); //base class function call

        this.fun1(); // same class function call

    }
}
class program3:program2
{
   public int x = 20;
    public void fun3()
    {

        Console.WriteLine(this.x); //same class x variable call
        Console.WriteLine(base.x); // base class x variable call
       // this.fun3(); // same class function call
        Console.WriteLine("Program3 class call");
        base.fun1(); //base class function call
    }

    static void Main(string[] args)
    {
        program3 pr = new program3();
        pr.fun3();
    }

このキーワードは現在の参照を呼び出します。同じクラスの現在のオブジェクトを呼び出したい場合は、このキーワードが使用されます。どのようにこのキーワードが必要ですか??? 1. 基本クラスと現在のクラス オブジェクトを削除します。

于 2013-02-24T16:13:16.793 に答える