[Mono-devel-list] Weird warnings using mcs svn on Windows
Raja R Harinath
rharinath at novell.com
Wed Apr 13 02:21:06 EDT 2005
"Gert Driesen" <gert.driesen at telenet.be> writes:
> As of recently, I get the following warning (numerous times) when using mcs
> svn to compile even the simplest app on Windows:
> warning CS8028: The method 'System.Object.Finalize()' is marked 'override',
> doesn't appear to override any virtual or abstract method: it may be ignored
> ing overload resolution
> C:\cygwin\usr\local\lib\mono\1.0\mscorlib.dll: 'System.Object.Finalize'
> (name of
> symbol related to previous warning
> Any idea what might be causing this ?
A method is marked with the 'Virtual' MethodAttribute, but doesn't have
'NewSlot' is treated as an "override" function. The C# compiler tries
to find the underlying "virtual" function that it overrides. In some
cases, it's unable to do so. We can't get into this situation when
compiling C# code. So, this warning is typically issued when some dll
was generated by SRE or written in IL.
However, it turns out that several compiler-generated functions are also
being marked this way. It's the case with a delegates .Invoke () on
NET 1.1 and mono.
I suspect that CSC 1.1 also emits the .Finalize () function this way,
too. I'll try to fix this soon. However, I believe this warning is
harmless in this case, since Finalize cannot be invoked such that it
takes part in overload resolution.
More information about the Mono-devel-list