I've sometimes seen code written like this :
public class B1
{
}
public class B2
{
private B1 b1;
public B1 B1
{
get { return b1; }
set { b1 = value; }
}
}
i.e. class B2 has a property named "B1", which is also of type "B1".
My gut instinct tells me this is not a good idea, but are there any technical reasons why you should avoid giving a property the same name as its class ?
(I'm using .net 2.0, in case that matters).