オーバーロードが存在するメソッド Second() を、ジェネリックメソッド First() から呼び出しています。
First()int を渡したときは Second(int) が呼ばれてほしいのですが、Second(object) が呼び出されてしまいます。
何か良い方法はないでしょうか?

[TestMethod]
public void TestMethod1()
{
    Console.WriteLine(this.First("string")); // "object"
    Console.WriteLine(this.First(1)); // "object" ("int" が返ってきてほしい)
}

private string First<T>(T args)
{
    return this.Second(args);
}

private string Second(object args)
{
    return "object";
}

private string Second(int args)
{
    return "int";
}