C# 为什么声明接收基接口的接口方法不允许实现接收这种类型的扩展?

C# 为什么声明接收基接口的接口方法不允许实现接收这种类型的扩展?,c#,C#,编译错误显示: “SomeClass”未实现“IApply.Apply(IBase)” 公共接口IBase{} 公共接口IchilInterface:IBase { void APublicMethod(); } 公共接口应用 { 无效申请(IBase b); } 公共类SomeClass:IApply { 公开作废申请(IchilInterface i)这个怎么样 public interface IBase {} public interface IChildInterface : IBas

编译错误显示:

“SomeClass”未实现“IApply.Apply(IBase)”

公共接口IBase{}
公共接口IchilInterface:IBase
{
void APublicMethod();
}
公共接口应用
{
无效申请(IBase b);
}
公共类SomeClass:IApply
{
公开作废申请(IchilInterface i)这个怎么样

public interface IBase {}
public interface IChildInterface : IBase
{
    void APublicMethod();
}

public interface IApply<in T> where T: IBase
{
    void Apply(T b);
}

public class SomeClass : IApply<IChildInterface>
{
    public void Apply (IChildInterface i)
    {                                          
    }
}
公共接口IBase{}
公共接口IchilInterface:IBase
{
void APublicMethod();
}
公共接口IApply,其中T:IBase
{
无效申请(TB);
}
公共类SomeClass:IApply
{
公开作废申请(i界面i)
{                                          
}
}

如果你惊讶于一个问题不能仅仅由代码组成,你可能需要阅读。你必须解释你的期望,并展示你的研究成果,“不言自明”一般来说,代码对其他人来说并不是一目了然的。谢谢你的输入。如果一开始看不懂这个简单的代码,我就不指望有人会回答这个问题。没有必要被动的攻击。:)请看重复的答案。@CodeCaster:这些不完全是重复的。他们建议si的解决方法假设,但这个问题问为什么会这样。这里的答案要么解释(技术/逻辑)它不可能那样工作的原因,要么说明它可以工作,但只是不是语言的一部分。@O.R.“为什么”问题没有用,因为它的答案总是“因为语言是这样设计的”。
public interface IBase {}
public interface IChildInterface : IBase
{
    void APublicMethod();
}

public interface IApply<in T> where T: IBase
{
    void Apply(T b);
}

public class SomeClass : IApply<IChildInterface>
{
    public void Apply (IChildInterface i)
    {                                          
    }
}