Why is the following allowed:

public class Foo {
  public Foo() { ... }
  public void Foo() { ... }
}

Is there ever a valid reason for naming a method the same as the class?

Edit
Report