Impedindo que uma subclasse C # sobrescreva um método
Digamos que eu tenha uma classe pai abstrata chamada "Parent" que implementa um método chamado "DisplayTitle". Eu quero que este método seja o mesmo para cada subclasse que herda "Pai" - eu gostaria de um erro de compilação se uma subclasse tentar implementar seu próprio método "DisplayTitle". Como posso conseguir isso em c #. Eu acredito em Java, eu apenas marcar o método como "final", mas não consigo encontrar uma alternativa em c #. Eu tenho andado por aí com "selado" e "override", mas não consigo o comportamento que estou procurando.
Por exemplo, neste código:
using System;
namespace ConsoleApplication1
{
class Parent
{
public void DisplayTitle() { Console.WriteLine("Parent's Title"); }
}
class ChildSubclass : Parent
{
public void DisplayTitle() { Console.WriteLine("Child's Own Implementation of Title");
}
static void Main(string[] args)
{
ChildSubclass myChild = new ChildSubclass();
myChild.DisplayTitle();
Console.ReadLine();
}
}
}
Eu gostaria de receber um erro de compilação dizendo que o "ChildSubClass" não pode substituir "DisplayTitle". Atualmente recebo um aviso - mas parece que isso é algo que eu deveria ser capaz de fazer e não sei os atributos adequados para rotular o método.