Я предполагаю, потому что это означает, что использование SomeValue
во внутреннем классе означает, что вы получите значение, присвоенное внутреннему классу, а не внешнему классу.
Учтите это:
public static class Super
{
public static class Sub
{
public static string OtherValue {get{return SomeValue;}}
// Remove this line and OtherValue will return Outer
public static string SomeValue { get{return "Inner"; }}
}
public static string SomeValue { get{return "Outer"; }}
}
В настоящее время Super.Sub.OtherValue
вернет Inner
, но удаление строки, которую я прокомментировал, приведет к возврату Outer