Compter les Instances de la Classe

Je suis à la recherche d'un moyen de par programmation d'obtenir le nombre d'instances d'un certain type de classe .NET et Java.

Dire par exemple j'ai la classe Foo. Je veux être capable, dans le même processus, obtenir un compte courant de toutes les instance de Foo.
Cependant je ne peux pas modifier Foo, si un static int avec le comptage. Aussi je ne peux pas ajouter tous cas je faire de certains de liste statique et le comte. Je veux être capable de dire simplement:

System.GC.numberOf< Foo >()

ou quelque chose.

Je regardais à travers les ramasseurs d'ordures, mais je ne pouvais pas trouver toutes les méthodes pertinentes.

il y a des doublons. de recherche autour de.
il y a des questions similaires, mais les réponses toujours impliquer une modification de la classe avec une sorte de contre. Je veux compter les instances de classes je n'ai pas de définir ou de contrôle
eh bien, vous ne pouvez pas. c'est également indiqué dans les réponses à certaines questions.
Le suivi du nombre d'objets que vous créez dans le code, vous ne le contrôle.
J'ai utilisé des outils de compter des occurrences d'objets dans des processus à distance, très utile pour le suivi des fuites. J'espère qu'il y a un moyen de répliquer cette logique dans le même programme à des fins de test

OriginalL'auteur Charles | 2011-04-12