小编Bum*_*ala的帖子

泛型类协方差

是否可以在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)

c# covariance

5
推荐指数
2
解决办法
1497
查看次数

c ++/cli接口覆盖的显式实现

我有两个接口:

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中实现呢?

提前致谢.

c++-cli

3
推荐指数
1
解决办法
1081
查看次数

标签 统计

c# ×1

c++-cli ×1

covariance ×1