Tengo un código C# que compila bien tanto en mono como en los compiladores .NET de Microsoft, pero solo se ejecuta en mono. El mensaje de error es (nuevas líneas añadidas por mí)Problemas con el tipo genérico recursivo en 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.
El tipo tiene realmente una definición genérica recursivo, por lo que mi pregunta es: ¿por qué funciona con mono? [El código se ejecuta y produce el resultado esperado]
código fuente completo está aquí: https://github.com/miniBill/Hasse
código reducido, que vuelve a colgarse está aquí:
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>();
}
}
Aquí es prueba de que funciona en mono: http://ideone.com/ZvA3I
En lugar de darnos el enlace a un gran proyecto, sería útil si pudiera * * después de un corto (mínimo), pero ejemplo completo que demuestra el problema. –
Déjame intentar y crear un ejemplo mínimo – miniBill
Hecho. Tomó algo de tiempo :) – miniBill