Méthodes statiques vs les méthodes d'instance en C#

Pour une application que je suis en train d'écrire, je veux avoir l'extrême de l'extensibilité et de la vulgarisation des méthodes semblent me donner ce que je veux, en plus de la capacité à les appeler sans une instance, dont j'ai besoin aussi.

Je me souviens avoir lu que les méthodes statiques sont plus rapides que les méthodes d'instance, mais ne pas obtenir les avantages de la GC. Est-ce correct?

Il est très peu probable que je vais changer mon design à moins que je trouve une alternative supérieure design et de la vitesse. Mais toujours pour de l'information supplémentaire, je veux savoir les différences dans la vitesse, la GC, etc.

EDIT: Merci. Plus d'infos: disons que nous avons une classe de Personne:

class Person

qui peut avoir une instance méthode de la Distance donc, comme:

this.Distance (Person p)

Ce qui est excellent, mais cela ne me donne pas la possibilité de calculer la distance entre 2 points (disons Point3), sans création d'instances de la classe Personne.

Ce que je veux faire, c'est ceci:

class Person (no Distance methods)

mais l'extension des méthodes de Distance:

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

Cette façon, je peux à la fois faire:

myPerson.Distance (yourPerson)

et

Extensions.Distance (pointA, pointB)

EDIT2: @Jon, oui, je pense que c'est ce qui est signifié par (ne pas obtenir les avantages de la GC), mais j'ai un peu pensé que les méthodes statiques créer cette charge/surcharge.

InformationsquelleAutor Joan Venge | 2009-02-27