class Program
{
interface I1
{
void F1();
}
interface I2
{
void F2();
} //2 interfaces
abstract class b1 : I1
{
abstract public void F1();
}
private class d1 : b1
{
public override void F1()
{
Console.Write("Inside D1:b1.F1");
//I want to call my method() here
MyMethod();
}
}
private class d2 : b1
{
public override void F1()
{
Console.Write("Inside d2:b1.F1");
//I want to call my method() here
MyMethod();
}
}
private class ImeplementI2_1 : I2
{
public void F2()
{
//Implementation
Console.Write("Inside b_1:b_1.F2");
//I want to call my method() here
MyMethod();
}
}
private class ImeplementI2_2 : I2
{
public void F2()
{
//Implementation
Console.Write("Inside b_1:b_1.F2");
//I want to call my method() here
MyMethod();
}
}
void MyMethod()
{
Console.WriteLine("Printmenow");
}
static void Main(string[] args)
{
I1 interface1;
if (args.Length > 0)
{
interface1 = new d1();
}
else
{
interface1 = new d2();
}
interface1.F1();
//I want to call my method() here
MyMethod();
}
}
Где было бы лучше всего реализовать MyMethod()? У меня два интерфейса имеют один и тот же метод, реализованный по-разному. Поэтому я подумал об этом и, кажется, могу пойти со статическим методом в этой программе класса, чтобы все были счастливы. Любые предложения или лучшие решения?Как создать общие методы между двумя интерфейсами
10 «У меня есть два интерфейса с использованием метода smae по-разному» W гип? –
Похоже, вам нужен абстрактный класс. – kevintjuh93
Почему именно вам это нужно?Пожалуйста, предоставьте более подробную информацию о вашей проблеме, потому что, поскольку на данный момент сложно сказать что-либо – Fabjan