J'analyse du code à l'aide de Visual Studio Tool et je reçois ce message:
objet 'filtream' peut être disposé plus d'une fois dans la méthode 'bitmapformat.writebitmap (octet [], int, int)'. Pour éviter de générer une méthode.ObjectDisposedExceptionException, vous ne devez pas appeler plus d'une fois sur un objet. P> blockquote>
J'ai essayé d'appelé expiré explicitement sur l'objet, mais pas en vain. p>
Ceci est la méthode: p>
xxx pré> si je supprime Le
ESSAYEZ enfin code> bloc, le même se produit. Même si j'utilise
en utilisant la déclaration code>. P>
Comment puis-je l'éviter? P> p>
3 Réponses :
Essayez de vous débarrasser de cette ligne. Vous appelez éliminer enfin bloc qui fonctionnera toujours. Afin que vous puissiez supprimer cette ligne. P>
Dans le cas spécifique d'un filtream code>, vous n'avez pas besoin de le disposer pour fermer le fichier, il vous suffit d'utiliser la méthode de fermeture. P>
Cela peut arriver parce que vous essayez potentiellement d'exécuter p>
Il n'ya pas de point à l'aide de votre cas, vous pouvez simplement utiliser la méthode de près.
La méthode de fermeture exécutera la méthode de disposer avec la «vraie» valeur. P>
Veuillez regarder cette exploration de 'filtream.close ()' Méthode: P>
https://msdn.microsoft. COM / EN-US / Bibliothèque / AA328800 (v = vs.71) .aspx p>
Cette implémentation d'appels fermés La méthode d'élimination passant une valeur réelle. P>
blockQuote> filtream.close () code>,
et p>
filtream.dispose () code> p>
Je vote pour fermer cette question comme off-sujets car cela a tant de Duplicats Je ne peux même pas en choisir un.
Vous êtes disposé deux fois.
filtream.close () code> est Efficiel identique à celui
filtream.close () code>.
binarywriter code> disposera du flux sous-jacent. Quel est votre
filestream code>
DUPLIQUE POSSIBLE DE "" L'objet peut être éliminé plus d'une fois "
Non liée: essayez d'utiliser le "Utilisation" - déclaration