Could anyone please explain this to me with an example? I am getting contradicted myself
Both seem mutually contradictory. Can anyone explain it with an example using .NET framework if possible?
High Fan In is good rule for low level classes. They should be highly reusable by higher level classes. High Fan Out is good rule for high level classes. They should not "reinvent the wheel", but use the already existing code - found in low level classes.
So the rules are not contradicting because they relate to different classes.