Обычно вы используете интерфейс.В вашем случае myMethod
должен делать что-то конкретное с переданным аргументом. Давайте рассмотрим простой пример;скажем, myMethod
был ответственен за запуск автомобиля, вы должны определить интерфейс, такой как
public interface ICar
{
void Start()
}
Тогда аргумент myMethod
будет иметь тип ICar
, а не object
.
public void myMethod(ICar car)
{
car.Start();
}
Теперь mymethod
не нужно знать (или заботиться !!), что представлено ICar
, будь то AbcCar, SportsCar и т. Д., Пока этот класс реализует ICar
public class SportsCar : ICar
{
public void Start()
{
Console.WriteLine("Vroom Vroom. SportsCar has started");
}
}
public class AbcCar : ICar
{
public void Start()
{
Console.WriteLine("Chug Chug. AbcCar has started");
}
}