У меня есть четыре класса:как остановить назначая производный объект класса для базового класса указателя
class Base
{
public void printf()
{
Console.WriteLine("I am from base !!!");
}
}
class DerivedA : Base
{
public void printf()
{
Console.WriteLine("I am from derived A !!!");
}
}
class DerivedB : Base
{
public void printf()
{
Console.WriteLine("I am from derived B !!!");
}
}
class testProgram
{
public void print(Base baseClass)
{
baseClass.printf();
}
}
моя цель состоит в том, когда я выполнить следующий код, в строке 4 он должен дать мне ошибку компиляции.
testProgram tP = new testProgram();
tP.print(baseClass);
tP.print(derivedA);
tP.print(derivedB);
Какие изменения мне нужно сделать?
Что отличает его от 3-й линии? – Servy
Не наследуйте базу. Задача решена. Предоставьте дополнительную информацию, если вам нужна дополнительная помощь, хотя, похоже, у вас есть проблема с дизайном, если производный класс не может быть заменен вашей базой. –
Включите ошибку компилятора. «Это дало мне ошибку» не полезно. – Gutblender