I\'ve sometimes seen code written like this :
public class B1
{
}
public class B2
{
private B1 b1;
public B1 B1
{
get { return b1; }
This common pattern is one of the reasons why I always use this when referring to an instance member within a class. e.g. always
this.SomeMethod(this.SomeProperty);
and never
SomeMethod(SomeProperty);
In most cases, there isn't any actual ambiguity, but I find it helps clarify things. Plus you now know where the property/method is defined.