У меня есть вопрос относительно интерфейса. Есть два интерфейса, которые содержат один и тот же метод Test(). Теперь я наследую оба интерфейса в классе Sample.I хочу знать, какой метод интерфейса будет вызываться? Мой пример кода ниже:Какой интерфейс будет реализован?
interface IA
{
void Test();
}
interface IB
{
void Test();
}
class Sample: IA, IB
{
public void Test()
{
Console.WriteLine("Which interface will be implemented IA or IB???!");
}
}
class Program
{
public static void Main(string[] args)
{
Sample t = new Sample();
t.Test();//Which Interface's Method will called.
Console.ReadLine();
}
}
Благодаря Vijendra Singh
Посмотрите здесь: http://stackoverflow.com/questions/143405/c-interfaces-implicit-and-explicit-implementation –
Вы всегда будете называть Sample.Test(). При использовании интерфейса или более, это означает, что вы вызываете метод в конкретном классе, как описано в контракте, который предоставляет интерфейс. Таким образом, не имеет значения, обеспечивают ли оба интерфейса один и тот же контракт. –