2011-12-06 15 views
1

"Controls.Add(xyz)"と "this.Controls.Add xyz) "ASP.NET(C#)で?ASP.NET(C#)の "Controls.Add()"と "this.Controls.Add()"の相違点

どのように/私はウェブページに同じコントロールを追加する場合は、上記の2つの(異なる)方法を介して問題がありますか?

一方を他方より優先する必要がある場合は、

+2

可能複製(http://stackoverflow.com/questions/23250/when-do-you-use-the-this [あなたは "この" キーワードを使用しますか?] - キーワード) – Magnus

答えて

2

あなたの場合、thisはクラスの現在のインスタンスを表します。したがって、拡張メソッドを扱っている場合を除き、セマンティクスの問題としてどちらかを使用するのがよいはずです。

ASP.NET(C#)の "Controls.Add(xyz)"と "this.Controls.Add(xyz)"の違いは何ですか?
なし。

ウェブページに同じコントロールを追加する場合はどのようにしても問題はありませんが、前述の2つの方法を使用しますか?
問題ではありません。

一方を他方より優先する必要がある場合は、
通常、より明示的でコードの可読性を向上させるため、thisを使用することをお勧めします。しかしそれは好みの問題です。

参考:の this (C# reference)

2

この場合、ほとんど違いはありません。

を使用するthisを使用すると、コードがクラスのメンバーを参照していることが明示されます。

あなたとあなたのチームが合意したものを使用してください。

+0

@Downvoter - コメントしますか? – Oded

3

違いはありません。 thisは現在のクラスのインスタンスを表します。thisを指定しないと、現在のスコープ内で最も近いメソッドが得られます(とにかくthis)。

0

違いは単なるテキスト "this"です。 2つの異なるステートメントは同じタスクを実行します。

組織のコーディング標準のみに基づいて、他のものより優先されるべきです。 (私はこれがなくても一番好きです。)

0

このポインタは現在のインスタンスを明示的に指しています。

0

違いはありません。それは冗長な修飾子ですが、Odedはコードの可読性のためにそれを述べています。