I\'ve sometimes seen code written like this :
public class B1
{
}
public class B2
{
private B1 b1;
public B1 B1
{
get { return b1; }
It's fine. The canonical example here is
public Background {
public Color Color { get; set; }
}
There are rare issues (corner cases) that come up here, but not enough to warrant avoiding this device. Frankly, I find this device quite useful. I would not enjoy not being able to do the following:
class Ticker { ... }
public StockQuote {
public Ticker Ticker { get; set; }
}
I don't want to have to say Ticker StockTicker or Ticker ThisTicker etc.