Проблемы с рекурсивным обобщенным типом в c#

У меня есть код C #, который отлично компилируется как под моно, так и под компиляторы Microsoft.net, но работает только на моно. Сообщение об ошибке: (новых строк, добавленных мной)

Unhandled Exception: System.TypeLoadException:
Could not load type 'Hasse.Groups.Heavy.Product.PowerGroup`1'
from assembly 'Hasse, Version=1.0.x.y, Culture=neutral, PublicKeyToken=null'
because it has recursive generic definition.

Тип на самом деле имеет рекурсивное универсальное определение, поэтому мой вопрос: :почему он работает с моно? [Код запускается и дает ожидаемый результат]

Полный исходный код здесь:https://github.com/miniBill/Hasse

Сокращенный код, который все еще дает сбой, находится здесь:

public class Group : IWrappableGroup> {}

public class WrapperElement {}

public interface IWrappableGroup {}

public class WrapperGroup : Group> {}

class MainClass {
    public static void Main(string[] args){
        var ng = new Group();
    }
}

Вот доказательство того, что это работает на моно:http://ideone.com/ZvA3I

14
задан miniBill 2 July 2012 в 16:30
поделиться