Question

Le MSDN indique que la méthode retourne

  

true si la méthode est réussie   en file d'attente; NotSupportedException is   levé si l'élément de travail n'est pas en file d'attente.

À des fins de test, comment obtenir la méthode pour renvoyer false ? Ou c’est juste un " sous-optimal " conception de classe?

Était-ce utile?

La solution

En examinant le code source dans Reflector, il semble que la seule partie du code pouvant renvoyer " false " est un appel au suivant:

[MethodImpl(MethodImplOptions.InternalCall)]
private static extern bool AdjustThreadsInPool(uint QueueLength);

Autres conseils

C’est probablement un cas de "réservé pour une utilisation future". Vous voudrez peut-être considérer cela comme un échec, mais ce sera difficile à tester.

Je traite à peu près cette méthode comme un vide / Sub.

Il est imaginable que l'intégralité de l'API (pools de threads) devienne obsolète lorsque la bibliothèque de tâches (TPL) arrive.

  

true si la méthode est mise en file d'attente avec succès; L'exception NotSupportedException est levée si l'élément de travail n'est pas en file d'attente.

Traiter un return false de la même manière que vous traitez une NotSupportedException .

Pour qu'il renvoie false, utilisez une méthode ou un objet fictif.
Vous voulez tester votre propre code que vous avez écrit, pas le code Windows sous-jacent. Je suis sûr que Microsoft a déjà ses propres tests pour cela.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top