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();
x.extMethod();
}
}
}
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.
_______________________________________________
Mono-devel-list mailing list
[email protected]
http://lists.ximian.com/mailman/listinfo/mono-devel-list