Statische Methoden vs. Methoden einer Instanz in C#

Für eine Anwendung, die ich Schreibe, will ich haben extreme Erweiterbarkeit und die Erweiterung Methoden scheinen mir zu geben was ich will, plus die Fähigkeit, Sie zu nennen, ohne eine Instanz, die Brauch ich auch.

Ich erinnere mich gelesen zu haben, dass statische Methoden sind schneller als Instanz-Methoden, aber nicht bekommen, die Vorteile von GC. Ist das richtig?

Es ist höchst unwahrscheinlich, dass ich mein design ändern, es sei denn, ich finde eine bessere alternative, die von design keine Geschwindigkeit. Aber immer noch für die zusätzlichen Informationen, die ich wissen möchte, sind die Unterschiede in der Geschwindigkeit, GC, etc.

EDIT: vielen Dank. Mehr info: sagen wir, wir haben eine Klasse "Person":

class Person

kann eine Instanz haben, die Distanz-Methode, so wie:

this.Distance (Person p)

Das ist toll, aber nicht geben mir die Fähigkeit zur Berechnung der Entfernung zwischen 2 Punkten (sagen Punkt3) ohne das erzeugen von Instanzen der Klasse "Person".

Was ich tun will, ist dies:

class Person (no Distance methods)

aber Erweiterung Methoden der Entfernung:

Distance (this Person, Person)
Distance (this Point3, Point3)

Diese Weise kann ich beides tun:

myPerson.Distance (yourPerson)

und

Extensions.Distance (pointA, pointB)

EDIT2: @Jon, ja, ich glaube, das war, was gemeint war, indem Sie (erhalten nicht die Vorteile der GC), aber ich dachte irgendwie, dass die statischen Methoden erstellen, die diese Belastung/Mehraufwand.

InformationsquelleAutor Joan Venge | 2009-02-27

Schreibe einen Kommentar