2013-08-27 21 views
5

Tôi có một vấn đề mà mã nàyType.GetType() ném một StackOverflowException

Type.GetType("Fully qualified assembly name goes here"); 

Nhưng nhận được một StackOverflowException uncatchable.

Tôi đã quản lý để khởi tạo lớp học từ tên hội đủ điều kiện nhưng nhận được lỗi này khi gọi GetType có cùng tên.

Để thêm vào điều này, tôi đã xem dòng mã vi phạm hoạt động trong một số trường hợp và không phải trong các trường hợp khác, với tên hội đủ điều kiện hoàn toàn giống nhau trong cả hai trường hợp.

Đây là câu hỏi StackOverflow đầu tiên của tôi để nhận xét về cấu trúc của nó được hoan nghênh. :)

+3

Có vòng lặp nào xung quanh mã này không? – oleksii

+0

Lớp học này là thứ bạn đã viết? Nếu vậy, bạn có thể đăng các bit có liên quan của mã cho nó? –

+10

Bạn đã đến đúng trang nếu bạn đang gặp sự cố với tràn ngăn xếp ... –

Trả lời

0

Dưới đây là một số tác phẩm âm có liên quan của thông tin có thể giúp từ http://msdn.microsoft.com/en-us/library/w3f99sx1.aspx:

Để xác định nếu có một vấn đề với lắp ráp của bạn thử điều này:

GetType gây nạp assembly được chỉ định trong typeName. Bạn cũng có thể tải một assembly bằng cách sử dụng phương thức Load, và sau đó sử dụng các phương thức GetType hoặc GetTypes của lớp Assembly để lấy các đối tượng Type.

Nếu bạn gặp lỗi trên Load(assembly) thì bạn biết sự cố không phải là cuộc gọi GetType().

Ngoài ra, hãy chắc chắn rằng bạn đang đi trong đúng loại lắp ráp:

GetType chỉ hoạt động trên các assembly được nạp từ đĩa. Nếu bạn gọi GetType để tra cứu một kiểu được định nghĩa trong một assembly động được định nghĩa bằng các dịch vụ System.Reflection.Emit, bạn có thể nhận được hành vi không nhất quán.

Các vấn đề liên quan