Sealing methods must include the override keyword, why ?
Hi all,
I was wondering why I have to put the override keyword when I want to seal
a method. Sealing a class is pretty easy because you put the sealed keyword
in front of the class. But for functions, the C# compiler tells me that
I have to add the keyword override. Is that normal ?
For example,
public sealed void foo() {}; // Won't compile
public sealed override foo() {} // No problem
Thanks,
Louis-Philippe
Re: Sealing methods must include the override keyword, why ?
IMO you have no need to seal a non-virtual method.
--
Miha
"Louis-Philippe Carignan" <lpcarignan@signaflex.qc.ca> wrote in message
news:3c6d4c72$1@10.1.10.29...
>
> Hi all,
>
> I was wondering why I have to put the override keyword when I want to seal
> a method. Sealing a class is pretty easy because you put the sealed
keyword
> in front of the class. But for functions, the C# compiler tells me that
> I have to add the keyword override. Is that normal ?
>
> For example,
>
> public sealed void foo() {}; // Won't compile
>
> public sealed override foo() {} // No problem
>
> Thanks,
>
> Louis-Philippe
Re: Sealing methods must include the override keyword, why ?
Louis-Philippe,
Sealing a method implies that the method was previously overridable, hence
the need for override.
If the method is not currently overridable, it is already "sealed", as Miha
has stated. So you would not really need either...
Hope this helps
Jay
"Louis-Philippe Carignan" <lpcarignan@signaflex.qc.ca> wrote in message
news:3c6d4c72$1@10.1.10.29...
>
> Hi all,
>
> I was wondering why I have to put the override keyword when I want to seal
> a method. Sealing a class is pretty easy because you put the sealed
keyword
> in front of the class. But for functions, the C# compiler tells me that
> I have to add the keyword override. Is that normal ?
>
> For example,
>
> public sealed void foo() {}; // Won't compile
>
> public sealed override foo() {} // No problem
>
> Thanks,
>
> Louis-Philippe