MS CA2202: Object can be disposed more then once

Posted on


When running Code Analysis on my project I get the following warning:

CA2202 : Microsoft.Usage : Object ‘fs’ can be disposed more than once in method

I don’t see the problem, and the code compiles fine and produces the expected results in all test cases.
If I remove the fs.Dispose(); statement then Code Analysis instead produces this warning:

object ‘fs’ is not disposed along all exception paths. Call System.IDisposable.Dispose on object ‘fs’ before all references to it are out of scope.

I am much grateful if you can review my code so that I can learn the proper way of disposing resources.

    private string ReadFileContent(string filename, Encoding encoding, string category, FileArchive archiveConfig)
FileStream fs = null;
StreamReader sr = null;
string fileContent = string.Empty;

_logger.Debug("Reading file content of "" + category + """" file """" + filename + """""")


Leave a Reply

Your email address will not be published. Required fields are marked *