I\'ve sometimes seen code written like this :
public class B1 { } public class B2 { private B1 b1; public B1 B1 { get { return b1; }
There's no specific technical problem with it. It might harm or improve readability. In fact, some Microsoft libraries have these kind of properties (specifically, with enum properties, this usually makes sense).
enum