Pergunta

Em Java, eu poderia fazer isso com a palavra -chave 'final'. Não vejo 'final' em C#. Existe um substituto?

Foi útil?

Solução

Você está procurando o sealed palavra -chave. Faz exatamente o que final Palavra -chave em Java faz. As tentativas de herdar resultarão em um erro de compilação.

Outras dicas

Esteja ciente de que "acho que ninguém precisará herdar disso" não é um bom motivo para usar "selado". A menos que você tenha uma necessidade específica de garantir que uma implementação específica seja usada, deixe a classe sem sela.

Como Joel já aconselhou, você pode usar sealed ao invés de final em c#.

http://en.csharp-online.net/csharp_faq:_does_csharp_support_final_classes

o sealed Modificador fará o que final faz em Java.

Além disso, embora provavelmente não seja o que você está procurando nessa situação, marcando uma aula como static Também evita que seja herdado (fica selado nos bastidores).

o sealed A palavra -chave funcionaria, mas ainda assim você pode derivar da classe usando o reflexo IIRC.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top