7

Java では、「final」キーワードを使用してこれを行うことができました。C# に「final」が表示されません。代替品はありますか?

4

5 に答える 5

35

sealedキーワードを探しています。これはfinal、Java のキーワードとまったく同じことを行います。継承しようとすると、コンパイル エラーが発生します。

于 2008-09-30T19:57:12.220 に答える
6

また、「誰もこれから継承する必要はないと思う」というのは、「封印された」を使用する正当な理由ではないことに注意してください。特定の実装を確実に使用する必要がある場合を除き、クラスは封印されていないままにしておきます。

于 2008-09-30T20:19:00.563 に答える
2

Joelがすでにアドバイスしているように、C#sealedの代わりに使用できます。final

http://en.csharp-online.net/CSharp_FAQ:_Does_CSharp_support_final_classes

于 2008-09-30T20:09:02.457 に答える
1

修飾子は、Java でsealed行うことを行います。final

また、これはおそらくこの状況で探しているものではありませんが、クラスを としてマークするstaticと、継承されなくなります (バックグラウンドで封印されます)。

于 2008-09-30T23:19:56.337 に答える
0

キーワードは機能しますsealedが、それでもリフレクションIIRCを使用してクラスから派生させることができます。

于 2008-09-30T20:36:15.530 に答える