c#中显式和隐式接口实现的区别是什么

Pra*_*eep 1 c# asp.net oop

c#/ asp.net中显式接口和隐式接口实现有什么区别?在哪种情况下我们可以使用显式接口和隐式接口实现.

谢谢,

普拉迪普

Mat*_*sca 5

隐式和显式实现背后的概念相当简单:

  • 具有隐式实现的成员可以通过接口以及实现它的类访问
  • 具有显式实现的成员只能通过接口访问

至于为何以及何时使用其中一种,取决于它.如果您使用相同的属性/方法实现多个接口,则显式实现是您唯一的选择,因为它是了解您打算调用哪个属性/方法的唯一方法.显然在这种情况下你不能在类本身上拥有该属性/方法:如果有,它将只是类,并且不会匹配任何接口(它们将明确地实现它).

在其他情况下,它实际上取决于您的设计选择以及您要完成的任务.如果要强制调用者仅通过接口访问接口成员,而不是通过类声明,请执行显式实现.