Method overloading allows us to define many methods with the same name but with a different set of parameters ( thus with the same name but different signature ). 

Are these two methods overloaded?

```
class A
{
    public static void MyMethod<T>(T myVal) { }
    public static void MyMethod(int myVal) { }
}

```

EDIT:

Shouldn't statement `A<int>.MyMethod(myInt);` throw an error, since constructed type `A<int>` has two methods with the same name and same signature?