¿Debería una propiedad tener el mismo nombre que su tipo?

A veces he visto un código escrito así:

public class B1
{
}

public class B2
{
    private B1 b1;

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

es decir, la clase B2 tiene una propiedad llamada "B1", que también es de tipo "B1".

Mi instinto me dice que esto no es una buena idea, pero ¿existen razones técnicas por las que debería evitar darle a una propiedad el mismo nombre que su clase?

(Estoy usando .net 2.0, en caso de que eso importe).

Respuestas a la pregunta(9)

Su respuesta a la pregunta