是否可以在C#中编译以下代码?我在Java中编译类似.
public interface IInterface
{
...
}
public class Class1 : IInterface
{
...
}
public abstract class Base<T> where T : IInterface
{
...
}
public class Class2<T> : Base<T> where T : IInterface
{
...
}
.
.
.
public SomeMethod()
{
List<Base<IInterface>> list = new List<Base<IInterface>>();
Class2<Class1> item = new Class2<Class1>();
list.Add(item); // Compile error here
}
Run Code Online (Sandbox Code Playgroud) 我有两个接口:
public interface I1
{
A MyProperty { get; set; }
}
public interface I2 : I1
{
new B MyProperty { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
在C#中,我可以像这样明确地实现:
public class C : I1, I2
{
public B MyProperty { get; set; }
A I1.MyProperty { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
不知何故,我必须在c ++/cli项目中使用这些接口.那么,我该如何在c ++/cli中实现呢?
提前致谢.