I\'ve sometimes seen code written like this :
public class B1
{
}
public class B2
{
private B1 b1;
public B1 B1
{
get { return b1; }
I can only think of one drawback. If you wanted to do something like this:
public class B1
{
public static void MyFunc(){ ; }
}
public class B2
{
private B1 b1;
public B1 B1
{
get { return b1; }
set { b1 = value; }
}
public void Foo(){
B1.MyFunc();
}
}
You'd have to instead use:
MyNamespace.B1.MyFunc();
A good example of this is common usage is in Winforms programming, where the System.Windows.Forms.Cursor class overlaps with the System.Windows.Forms.Form.Cursor property, so your form events have to access static members using the full namespace.