Interface inheritance and the new keyword

I want:

public interface IBase
{
    MyObject Property1 { get; set; }
}

public interface IBaseSub<T> : IBase
{
    new T Property1 { get; set; }
}

public class MyClass : IBaseSub<YourObject>
{
    public YourObject Property1 { get; set; }
}

But this doesn't compile. It gives the error:

//This class must implement the interface member IBase.Property1

Can anyone shed some light on this? I thought it should work..

Thanks

10
задан Chaos 23 March 2011 в 02:16
поделиться