Hallo,
eigentlich ist es ja gängig, folgende Benennung vorzunehmen:
public class Foo
{
protected string _bar;
public string Bar
{
get { return this._bar; }
set { this._bar = value; }
}
}
Alternativ gibt es häufig auch:
public class Foo
{
protected string _bar;
public string Bar
{
get { return this._bar; }
set { this._bar = value; }
}
}
Wie ich nun gerade festgestellt habe, bemängelt FxCop beide Varianten als nicht ClsCompliant ... nach welchem Schema soll man denn dann bitte gehen?
Viele Grüße,
Golo
Wissensvermittler und Technologieberater
für .NET, Codequalität und agile Methoden
hallo Golo,
wo ist denn der Unterschied zwischen Listing1 und Listing2?
Ich würde _bar private deklarieren...
-yellow
Selbst ein Weg von tausend Meilen beginnt mit einem Schritt (chinesisches Sprichwort).
Mein Blog: Yellow's Blog auf sqlgut.de
Hallo zusammen
Original von Yellow
wo ist denn der Unterschied zwischen Listing1 und Listing2?
Ich sehe auch keinen Unterschied.
Gruss Peter
--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011
Okay okay ... manchmal sollte ich ein bissel langsamer schreiben ...
Eigentlich sollte in einem der beiden Listings der Underscore fehlen, irgendwie habe ich das vergessen ...
Hat sich aber eh erledigt, weil ich die Lösung schon gefunden habe ... das Feld private machen, und die Eigenschaft protected ...
Wissensvermittler und Technologieberater
für .NET, Codequalität und agile Methoden
Okay, doch noch mal eine Frage zum Thema Namensgebung. Folgender Code:
public class Foo
{
private int bar;
public void Method(int bar)
{
this.bar = bar;
}
}
Da meckert FxCop, dass ein Parameter und ein Feld gleich heißen ... man solle doch bitte eines davon umbenennen. Bloß - wie? Ich meine, beides bezieht sich doch semantisch auf das gleiche? Gibt es da irgendwelche Empfehlungen?
Wissensvermittler und Technologieberater
für .NET, Codequalität und agile Methoden
Hallo Golo
Ich würde sagen, das passt so:
public class Foo
{
private int _bar;
public void Method(int bar)
{
this._bar = bar;
}
}
oder so:
public class Foo
{
private int _bar;
public void Method(int bar)
{
_bar = bar;
}
}
Obwohl das nur aus Schönheitsgründen angegraut wird~
this.bar und bar sind ohne Probleme auseinander zu halten.
Gruss Peter
--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011