Was ist der Unterschied?

30/07/2008 - 15:11 von Michael Reukauff | Report spam
Hallo

Ich habe seit ein paar Tagen R# 4.0 bei mir laufen und der hat ja eine
erweiterte Codeüberprüfung drin.

Ich habe an mehreren Stellen folgendes codiert:
txtPrefix1.ValueChanged += new
System.EventHandler(this.Prefix_ValueChanged);

R# macht nun den Vorschlag es wie folgt zu codieren:
txtPrefix1.ValueChanged += Prefix_ValueChanged;

Wo ist denn da der Unterschied, bzw. was bewirkt die 2. Schreibweise?
Funktionieren tut beides.

Danke schon mal
Michael
 

Lesen sie die antworten

#1 Paul Werkowitz
30/07/2008 - 16:35 | Warnen spam
Am Wed, 30 Jul 2008 15:11:31 +0200 schrieb Michael Reukauff:





Hallo Michael,

#1
txtPrefix1.ValueChanged += new
System.EventHandler(this.Prefix_ValueChanged);



#2
txtPrefix1.ValueChanged += Prefix_ValueChanged;




Beide sind im Normalfall identisch. Es sind vorsàtzlich kryptische
Sondersituationen denkbar, wo das nicht so ist, diese kommen aber NIE vor.

"A.B" ist immer dann identisch zu "B", wenn irgendwo "using A" steht (und
alles eindeutlg auflösbar ist etc, das lassen wir mal weg) - dann brauchst
du "B" nicht mehr extra mit dem Namespace "A" zu qualifizieren.

Die Notation "this.x" ist immer dann identisch zu "x", wenn x ein Mitglied
der Klasse ist. IMHO ist dies nicht unbedingt guter Stil, denn wenn der
Ausdruck "a.b" compiliert, sollte "a" oder "b" alleine nicht compilieren -
die Wahrschinlihckeit eines Fehlers steigt. Sachen wie

void f( int x )
{
this.x = x;
}

sind unprofessionell.

Greetz
Paule

Ähnliche fragen