相关疑难解决方法(0)

C#是否支持返回类型协方差?

我正在使用.NET框架,我真的希望能够创建一个我所有网站都使用的自定义类型的页面.当我尝试从控件访问页面时出现问题.我希望能够返回我的特定类型的页面而不是默认页面.有没有办法做到这一点?

public class MyPage : Page
{
    // My own logic
}

public class MyControl : Control
{
    public MyPage Page { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

c# covariance

76
推荐指数
2
解决办法
2万
查看次数

为什么我不能这样实现接口?

可能重复:
C#是否支持返回类型协方差?

我不确定我是不是真的很蠢......

如果我有一个界面:

public interface IMoop
{
    object Moop();
}
Run Code Online (Sandbox Code Playgroud)

为什么我不能这样实现它(我猜这会使用隐式协方差?)

public class MoopImplementor : IMoop
{
    string Moop();
}
Run Code Online (Sandbox Code Playgroud)

MoopImplementor的任何实例都符合IMoop指定的合同,所以看起来这应该没问题.

请赐教:)

编辑:要清楚 - 因为实现类返回继承自Interfaced方法的返回类型的东西 - 我觉得这应该工作.具体来说,是一个stringIS object.(对于任何其他的承保链也是如此).

c#

12
推荐指数
2
解决办法
625
查看次数

标签 统计

c# ×2

covariance ×1