using System;
namespace Main{
class Test< T> {
public Test( T Value) {
X.Foo ( Value) ;
}
}
class X{
public static void Foo( int value) {
Console.WriteLine ( "Foo Int: " + value) ;
}
public static void Foo( float value) {
Console.WriteLine ( "Foo Float: " + value) ;
}
public static void Main( ) {
Test< float> f = new Test< float> ( 5.0f ) ;
Test< int> i = new Test< int> ( 5 ) ;
return ;
}
}
}
dXNpbmcgU3lzdGVtOwpuYW1lc3BhY2UgTWFpbnsKICAgIAogICAgY2xhc3MgVGVzdDxUPnsKICAgICAgICAKICAgICAgICBwdWJsaWMgVGVzdChUIFZhbHVlKXsKICAgICAgICAgICAgWC5Gb28oVmFsdWUpOwogICAgICAgIH0KICAgIH0KICAgIAogICAgCiAgICBjbGFzcyBYewogICAgICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBGb28oaW50IHZhbHVlKXsKICAgICAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoIkZvbyBJbnQ6ICIrdmFsdWUpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBwdWJsaWMgc3RhdGljIHZvaWQgRm9vKGZsb2F0IHZhbHVlKXsKICAgICAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoIkZvbyBGbG9hdDogIit2YWx1ZSk7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBNYWluKCl7CiAgICAgICAgICAgIFRlc3Q8ZmxvYXQ+IGYgPSBuZXcgVGVzdDxmbG9hdD4oNS4wZik7CiAgICAgICAgICAgIFRlc3Q8aW50PiBpID0gbmV3IFRlc3Q8aW50Pig1KTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgIH0KfQ==
compilation info
prog.cs(7,15): error CS1502: The best overloaded method match for `Main.X.Foo(int)' has some invalid arguments
prog.cs(13,28): (Location of the symbol related to previous error)
prog.cs(7,15): error CS1503: Argument `#1' cannot convert `T' expression to type `int'
Compilation failed: 2 error(s), 0 warnings
stdout