Uma propriedade deve ter o mesmo nome que o seu tipo?

Eu vi algumas vezes código escrito assim:

public class B1
{
}

public class B2
{
    private B1 b1;

    public B1 B1
    {
        get { return b1; }
        set { b1 = value; }
    }
}

isto é, a classe B2 tem uma propriedade denominada "B1", que também é do tipo "B1".

Meu instinto me diz que isso não é uma boa idéia, mas há alguma razão técnica pela qual você deve evitar dar a uma propriedade o mesmo nome de sua classe?

(Estou usando o .net 2.0, caso isso seja importante).

questionAnswers(9)

yourAnswerToTheQuestion