Bad "To const" suggestion on public class for public static readonly field

I think ReSharper should not suggest "To const" refactoring for public static readonly fields for public classes.

public classSomeClass
{
   public static readonly int SomeConstant = 1; // ReSharper suggest "To const"
}

Using public constants on public classes could lead some problems:

=== Assembly A ===
public class SomeClass
{
   public const int SomeConstant = 1;
}

=== Assembly B ===
void SomeMethod()
{
   ....
   var a = SomeClass.SomeConstant; // compiler uses _value_ of SomeConstant
}

when we deploy new version of assembly A (with changes: SomeConstant to 2, e.g.) and place it to the folder with assembly B without recompiling assembly B
we will still get value 1 in our SomeMethod

PS: Sorry if it is duplicate.



Attachment(s):
to_const.JPG

Please sign in to leave a comment.