kevingadd/JSIL — Issue #45: Overriding interface members explicitly does not work
Author: markusjohnsson
Created: 2011-12-09 21:38:52+00:00
State: open

A class "A" which inherits from another class "A" which implements an interface "I" can re-implement that same interface explicitly. However, this fails using JSIL:

```
using System;

public interface I
{
void Foo();
}

public class A : I
{
public void Foo()
{
Console.WriteLine("A");
}
}

public class B: A, I
{
void I.Foo()
{
Console.WriteLine("B");
}
}

public static class Program
{
public static void Main(string[] args)
{
I i;

var a = new A();
i = a;
a.Foo(); // expected: "A"
i.Foo(); // expected: "A"

var b = new B();
i = b;
b.Foo(); // expected: "A"
i.Foo(); // expected: "B"

}
}
```

```
String lengths are both 7. Strings differ at index 6.
Expected: "A\nA\nA\nB"
But was: "A\nA\nA\nA"
--------------------^
```