显式接口实现(C# 编程指南)
并且这两个接口包含具有相同签名的成员, 那么在类中实现该成员将 如果类实现两个接口, 导致两个接口都使用该成员作为它们的实现。
例如:
interface IControl { void Paint(); } interface ISurface { void Paint(); } class SampleClass : IControl, ISurface { // Both ISurface.Paint and IControl.Paint call this method. public void Paint() { } } |
然而, 如果两个接口成员执行不同的函数, 那么这可能会导致其中一个接口的实现不正确或 两个接口的实现都不正确。可以显式地实现接口成员 -- 即创建一个仅通过该接口调用并且 特定于该接口的类成员。这是使用接口名称和一个句点命名该类成员来实现的。例如: C# 复制代码
public class SampleClass : IControl, ISurface { void IControl.Paint() { System.Console.WriteLine("IControl.Paint"); } void ISurface.Paint() { System.Console.WriteLine("ISurface.Paint"); } } |