I have the method shown below which is generating a CA1822 Code Analysis warning. CA1822 says this:
"The 'this parameter (or 'Me' in Visual Basic) of 'ImportForm.ProcessFile(StreamReader)' is never used. Mark the member as static (or Shared in Visual Basic) or use 'this/Me' in the method body or at least one property accessor, if appropriate."
Can anyone tell me why I am getting this warning, since the 'reader' parameter is in fact being used?
private void ProcessFile(StreamReader reader) { string[] lines; lines = reader.ReadToEnd().Split(new string[] { Environment.NewLine }, StringSplitOptions.None); ParseFile.IVAFile(lines); }
It means you use no members of the object. All the items in the method come from the parameters.
Therefore the method can safely be made static.
"reader" is being used, but you're not using "this" anywhere, so you can make the method static.
The only reason not to make it static would be if you want to use polymorphism later - e.g. making it virtual and overriding it elsewhere.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With