[Mono-bugs] [Bug 591727] New: Using typeof on nested generic classes throws runtime exception

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Sun Mar 28 16:43:21 EDT 2010



           Summary: Using typeof on nested generic classes throws runtime
    Classification: Mono
           Product: Mono: Compilers
           Version: unspecified
          Platform: Other
        OS/Version: Other
            Status: NEW
          Severity: Major
          Priority: P5 - None
         Component: C#
        AssignedTo: mono-bugs at lists.ximian.com
        ReportedBy: mcloughlin77 at gmail.com
         QAContact: mono-bugs at lists.ximian.com
          Found By: Community User
           Blocker: No

If you have two classes that are generic with one of them being a sub-class of
the other then when you attempt to use the typeof operator without qualifying
the full class path the runtime will throw a System.TypeLoadException.

The following code will reproduce the issue:

using System;
namespace MonoTest {
    public class Foo<T> {
        public class Bar<U> { }
        public Type Works() { return typeof(Foo<>.Bar<>); }
        public Type Broken() { return typeof(Bar<>); }

    class Program {
        static void Main(string[] args) {
            var foo = new Foo<double>();

The above code work properly when compiled with Microsoft's compiler and
executed with the mono runtime.  As shown above, the work around is to use the
fully qualified class declaration.

Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.

More information about the mono-bugs mailing list