26 lines
638 B
C#
26 lines
638 B
C#
|
//
|
||
|
// A compilation test - params with implicit user conversion
|
||
|
//
|
||
|
|
||
|
class Problem {
|
||
|
string somedata;
|
||
|
|
||
|
public Problem(string somedata) {
|
||
|
this.somedata = somedata;
|
||
|
}
|
||
|
public static implicit operator Problem(int x) {
|
||
|
return new Problem("" + x);
|
||
|
}
|
||
|
|
||
|
public static int Multi(int first, params Problem[] rest) {
|
||
|
return rest.Length;
|
||
|
}
|
||
|
|
||
|
public static int Main(string[] args) {
|
||
|
Problem[] ps = new Problem[] { 1, 2, 3 }; // ok
|
||
|
Multi (1, 2, 3, 4); // fails to compile
|
||
|
|
||
|
return 0;
|
||
|
}
|
||
|
}
|