[Mono-dev] gmcs bug

Pablo Iñigo Blasco pibgeus at gmail.com
Fri May 9 15:24:59 EDT 2008

Revision 102617 (6-May-2008)

This code compiles over csc and not over gmcs:

using System;
//using a;

namespace a

	public static class Extensions
		public static void extMethod(this object o){}
namespace a.b
	public class TestClass
		public void foo()
			object x=new object();

The error:
Type `object' does not contain a definition for `extMethod' and no 
extension method `extMethod' of type `object' could be found (are you 
missing a using directive or an assembly reference?)(CS1061)

The point is the using of an extension method in a subnamespace (either 
in the same or diferent files). In .net  the extension method is 
implicitly imported if the current namespace (a.b) is a subnamespace of 
that(a) where the extension method is defined.

Adding "using a;" gmcs compiles correctly.

More information about the Mono-devel-list mailing list