Tôi đã có một số mã C# biên dịch tốt theo cả hai trình đơn .net của Microsoft, nhưng chỉ chạy trên mono. Các thông báo lỗi là (dòng mới thêm bởi tôi)Các vấn đề với kiểu chung đệ quy trong 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.
Các loại thực sự có một định nghĩa chung đệ quy, vì vậy câu hỏi của tôi là: tại sao nó làm việc với mono? [Mã này chạy và tạo ra kết quả mong đợi]
mã nguồn đầy đủ ở đây: https://github.com/miniBill/Hasse
Giảm mã mà vẫn bị treo ở đây:
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>();
}
}
Đây là bằng chứng cho thấy nó hoạt động trên mono: http://ideone.com/ZvA3I
Thay vì cung cấp cho chúng ta những liên kết đến một dự án lớn, nó sẽ là hữu ích nếu bạn có thể * bài * một đoạn ngắn (tối thiểu) nhưng ví dụ hoàn chỉnh thể hiện vấn đề. –
Hãy để tôi thử và tạo một ví dụ tối thiểu – miniBill
Xong. Mất một thời gian :) – miniBill