Czy właściwość powinna mieć taką samą nazwę jak jej typ?

Czasami widziałem napisany kod w ten sposób:

public class B1
{
}

public class B2
{
    private B1 b1;

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

tj. klasa B2 ma właściwość o nazwie „B1”, która jest również typu „B1”.

Mój instynkt mówi mi, że to nie jest dobry pomysł, ale czy są jakieś techniczne powody, dla których powinieneś unikać nadawania własności o tej samej nazwie, co jej klasa?

(Używam .net 2.0, jeśli to ma znaczenie).

questionAnswers(9)

yourAnswerToTheQuestion