繁体   English   中英

隐式接口继承

[英]Implicit interface inheritance

我只是想知道这两个方法中的哪个,即IFirstInterface或ISecondInterface的bool IsReal(),我们现在实际上正在ExampleClass中使用它:

interface IFirstInterface
{
    bool IsReal(); 
}
interface ISecondInterface
{
    bool IsReal();
}



public class ExampleClass : IFirstInterface, ISecondInterface
{
    public bool IsReal() {}
    //public bool IsReal is IFirstInterface or ISecondInterface method.
}

拜托,有人可以向我解释一下隐式接口如何真正在C#中工作。

在“显式接口实现”指南中,您可以阅读以下语句:

如果一个类实现的两个接口包含一个具有相同签名的成员,则在该类上实现该成员将导致两个接口都使用该成员作为其实现。

您可以显式实现一个或两个接口来覆盖此行为:

interface IFirstInterface
{
    bool IsReal(); 
}
interface ISecondInterface
{
    bool IsReal();
}

public class ExampleClass : IFirstInterface, ISecondInterface
{
    // will be used for IFirstInterface
    bool IFirstInterface.IsReal(){}

    // will be used for ISecondInterface
    public bool IsReal(){}
}

为了清楚起见,您应该同时实现这两个函数public bool IFirstInterface.IsReal(){} public bool ISecondInterface.IsReal(){}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM