31 lines
530 B
C#
Raw Normal View History

// CS1956: The interface method `I<string>.M(out string)' implementation is ambiguous between following methods: `A<string,string>.M(out string)' and `A<string,string>.M(ref string)' in type `Test'
// Line: 17
// Compiler options: -warnaserror
interface I<T>
{
void M (out T x);
}
class A<T, U>
{
public virtual void M (out T t)
{
t = default (T);
}
public virtual void M (ref U u)
{
}
}
class Test : A<string, string>, I<string>
{
static void Main ()
{
I<string> x = new Test ();
string s;
x.M (out y);
}
}