674 Stimmen

Wann man statische Klassen in C# verwenden sollte

Das ist es, was MSDN hat zu sagen unter Wann sollten statische Klassen verwendet werden? :

static class CompanyInfo
{
    public static string GetCompanyName() { return "CompanyName"; }
    public static string GetCompanyAddress() { return "CompanyAddress"; }
    //...
}

Verwenden Sie eine statische Klasse als eine Einheit von Organisationseinheit für Methoden, die die nicht mit bestimmten Objekten verbunden sind. Außerdem kann eine statische Klasse Ihre Implementierung einfacher und schneller machen weil Sie kein Objekt erstellen müssen Objekt erstellen müssen, um seine Methoden aufzurufen. Es ist nützlich, die Methoden innerhalb der Klasse sinnvoll zu organisieren, wie zum Beispiel die Methoden der Klasse Math im Namespace System.

Mir scheint, dass dieses Beispiel nicht sehr viele mögliche Einsatzszenarien für statische Klassen abdeckt. In der Vergangenheit habe ich statische Klassen für stateless Suites verwandter Funktionen verwendet, aber das war's auch schon. Unter welchen Umständen sollte eine Klasse also als statisch deklariert werden (und unter welchen nicht)?

0voto

Vicky Punkte 799

Basierend auf MSDN :

  1. Sie können die Instanz nicht für statische Klassen erstellen
  2. Wenn die Klasse als statisch deklariert ist, sollte die Mitgliedsvariable für diese Klasse statisch sein
  3. Versiegelt [Kann nicht vererbt werden]
  4. Kann keinen Instanzkonstruktor enthalten
  5. Speicherverwaltung

Beispiel: Mathematische Berechnungen (mathematische Werte) ändern sich nicht [STANDARD CALCULATION FOR DEFINED VALUES]

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X