Was sind die Unterschiede zwischen den beiden? Ich habe nur eine Art von Konstruktor verwendet und ich glaube, es ist der statische Konstruktor. Nur mit C++ und Java vertraut.C# Instance Constructor vs Statischer Konstruktor
Antwort
Statische Konstruktor wird das erste Mal Ihre Klasse namens dh
MyClass.SomeStaticMethod()
Instanzkonstruktors verwiesen wird, wird jedes Mal, wenn Sie tun ‚MyClass dummy = new MyClass()
‘, dh schaffen Instanz der Klasse
semantisch zum ersten Mal verwendet wird aufgerufen, wenn Sie Möchten Sie sicherstellen, dass ein statischer Status initialisiert wird, bevor auf ihn zugegriffen wird, wird der andere zum Initialisieren von Instanzmembern verwendet.
Der statische Konstruktor wird nur einmal für alle Instanzen oder Verwendungen der Klasse ausgeführt. Es wird ausgeführt, wenn Sie die Klasse das erste Mal verwenden. Normale Konstruktoren werden ausgeführt, wenn Sie ein Objekt der Klasse instanziieren.
Alles, was Sie benötigen, sollten über statische Konstrukteure wissen, sind hier zu finden: http://msdn.microsoft.com/en-us/library/k9x6w0hc(v=VS.100).aspx
Statische Konstruktoren können Sie statische Variablen in einer Klasse initialisieren, oder andere Dinge tun musste in einer Klasse tun, nachdem sie zuerst verwiesen ist in dein Code. Sie werden nur einmal bei jedem Programmstart aufgerufen.
Statische Konstruktoren werden mit dieser Syntax deklariert und kann nicht überlastet sein oder alle Parameter haben, weil sie laufen, wenn Ihre Klasse durch seinen Namen verwiesen wird:
static MyClass()
{
}
Instanzkonstruktoren sind diejenigen, die aufgerufen werden, wenn Sie erstellen neue Objekte (Instanzen von Klassen). Sie sind auch diejenigen, die Sie normalerweise in Java und den meisten anderen objektorientierten Sprachen verwenden.
Sie verwenden diese, um Ihren neuen Objekten ihren Anfangszustand zu geben. Diese können überlastet werden und können Parameter übernehmen:
public MyClass(int someNumber) : this(someNumber, 0) {}
public MyClass(int someNumber, int someOtherNumber)
{
this.someNumber = someNumber;
this.someOtherNumber = someOtherNumber;
}
Telefonvorwahl:
MyClass myObject = new MyClass(100, 5);
- 1. Statischer Konstruktor & Singleton-Klasse
- 2. Öffentlicher Konstruktor und statischer Konstruktor
- 3. C# Allgemein Static Constructor
- 4. Typinitialisierung (statischer Konstruktor) Ausnahmebehandlung
- 5. C++/CLI, statischer Konstruktor außerhalb der Klassendeklaration
- 6. Android - Activity Constructor vs onCreate
- 7. Statischer Konstruktor und Ausnahmen
- 8. C# Constructor
- 9. Verschieben Constructor - ungültiger Typ für notleidende Konstruktor VS 2013
- 10. C# Constructor Basis Stichwort
- 11. Statischer Initialisierer läuft nach dem Konstruktor, warum?
- 12. $ instance Wordpress vs JQuery
- 13. Constructor ohne neue C#
- 14. Statischer Konstruktor in Javascript ES6
- 15. Wird new die benannte Funktion constructor instance- zurückgeben?
- 16. Wann wird ein statischer Konstruktor in C# aufgerufen?
- 17. Constructor
- 18. JavaScript: Konstruktor vs Prototyp
- 19. C# class instance kommunikation
- 20. Bedingter Aufruf Constructor in C#
- 21. Child statischer Konstruktor nicht aufgerufen, wenn Basiselement
- 22. Statischer Konstruktor für die gesamte Assembly
- 23. C++ Template Standard Constructor
- 24. C# - Funktion, die Constructor
- 25. Funktion Konstruktor vs Funktion Erklärung
- 26. Statischer Konstruktor, der zweimal für PerSession WCF-Dienst aufgerufen wird
- 27. C#: Daten zu Eigenschaften über Konstruktor zuweisen vs. Instanziieren
- 28. JavaScript-Modul Muster vs Konstruktor mit Methoden im Konstruktor definiert
- 29. C++: Constructor Vergleich Initialisiererliste in struct/class
- 30. PHP Datetime-Zeitzonen - Constructor vs Setter-Methode