Ở nhiều nơi, tôi gặp phải các tên loại có chất lượng một phần của biểu mẫu FullTypeName, AssemblyName
, ví dụ như chỉ Type.AssemblyQualifiedName
mà không có phiên bản vòng loại, văn hóa và vòng loại publicKeyToken.Cách Type.GetType hoạt động khi được đặt tên loại có một phần đủ điều kiện?
Câu hỏi của tôi là cách một người có thể chuyển đổi nó thành Type
tương ứng trong nỗ lực tối thiểu? Tôi nghĩ rằng Type.GetType
hiện công việc, nhưng than ôi, nó không. Các mã sau đây, ví dụ, trả null
:
Type.GetType("System.Net.Sockets.SocketException, System");
Tất nhiên, nếu tôi ghi rõ tên đầy đủ nó không làm việc:
Type.GetType("System.Net.Sockets.SocketException, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089");
Thanks a lot.
Bạn có loại lúc biên dịch không? Nếu vậy tại sao không sử dụng typeof () .FullName, et. al? Nếu bạn có loại khi chạy, bạn có thể sử dụng
Tôi hoàn toàn nhận thức được typeof() hoặc Type.FullName. Loại đối tượng được đọc từ tệp cấu hình, đó là lý do tôi sử dụng Type.GetType. Và đây là lý do tại sao tôi rất quan tâm đến việc tìm hiểu cách thức hoạt động của một số loại tên đủ điều kiện. – mark