Überladene Methodenauswahllogik

Angesichts der folgenden überladenen Methoden:

public string Test(long item)
{
    return "Test with a long was called!";
}

public string Test(int item)
{
    return "Test with an int was called!";
}

public string Test(object item)
{
    return "Test with an object was called!";
}

Wenn ich anrufeTest(), vorbei an einemshort, so was:

short shortValue = 7;
var result = Test(shortValue);

Warum ist der Wertresult gleich"Test with an int was called!", anstatt"Test with an object was called!"?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage