У меня есть код 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