In some other languages ββwith similar syntax, you can access a static element through an instance. This way you can access both string.Empty and "abc".Empty .
C # does not allow this (although it pretends to be inside a class or derived class, since you can omit the class name for the static member and you can omit this for the instance member), first avoid confusion (I find this more convenient than confusion tbh, but it's just me, I like switching, too, what I know).
By introducing a stricter rule that allows less ambiguity, it would be counterproductive to allow the new looser rule on the back, which would allow more. Think about how much βwhy should I use this with property X, but not property Y?β questions that SO would have if it were resolved (we would have to force this so that the X property is understandable, we had in mind an instance member).
Jon hanna
source share