[Mono-list] Wrong error message given by mcs

Miguel de Icaza miguel@ximian.com
10 May 2002 11:51:32 -0400


> ./ex2-4.cs(5) error CS0103: The name `WriteLine' could not be found in 
> `Hello'
> 
> What I expected was something saying that using is only allowed with 
> namespaces and that Console is a class.

This problem will be very hard to fix, because to be able to tell
whether a namespace has been miss-typed, I would have to load all the
types from the assembly, and that turned out to be very slow.

I do not know what other tricks to do, but in the past what I did was
something like this:

	foreach (Type t in assembly.GetTypes ()){
		string name = t.FullName;
		register_namespace (name);
	}

Since this information is not available to me (because of the expensive
operation), I ended up also implementing `SimpleName' which takes care
of the namespace resolution lazily.

Miguel.