Ho un codice C# che compila bene sia con i compilatori mono sia con quelli di Microsoft, ma funziona solo su mono. Il messaggio di errore è a capo (aggiunte da me)Problemi con tipo generico ricorsivo in C#
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.
Il tipo ha in realtà una definizione generica ricorsiva, quindi la mia domanda è: perché funziona con il mono? [Il codice viene eseguito e produce il risultato atteso]
Il codice sorgente completo è qui: https://github.com/miniBill/Hasse
codice ridotto, che si blocca ancora è qui:
public class Group<T> : IWrappableGroup<WrapperGroup<T>> {}
public class WrapperElement<T> {}
public interface IWrappableGroup<U> {}
public class WrapperGroup<T> : Group<WrapperElement<T>> {}
class MainClass {
public static void Main(string[] args){
var ng = new Group<object>();
}
}
Ecco la prova che funziona su mono: http://ideone.com/ZvA3I
Invece di darci il link a un grande progetto, sarebbe utile se si potesse * dopo * un breve (minimo), ma esempio completo che dimostra il problema. –
Lasciatemi provare e creare un esempio minimo – miniBill
Fine. Ci sono voluti un po 'di tempo :) – miniBill