Bạn có thể sử dụng Type.GetType(string)
, nhưng bạn sẽ cần phải biết tên lớp đầy đủ bao gồm không gian tên, và nếu nó không có trong lắp ráp hiện tại hoặc mscorlib bạn sẽ cần tên lắp ráp thay thế. (Lý tưởng nhất, sử dụng Assembly.GetType(typeName)
thay - Tôi thấy rằng dễ dàng hơn trong việc nhận tài liệu tham khảo lắp ráp đúng!)
Ví dụ:
// "I know String is in the same assembly as Int32..."
Type stringType = typeof(int).Assembly.GetType("System.String");
// "It's in the current assembly"
Type myType = Type.GetType("MyNamespace.MyType");
// "It's in System.Windows.Forms.dll..."
Type formType = Type.GetType ("System.Windows.Forms.Form, " +
"System.Windows.Forms, Version=2.0.0.0, Culture=neutral, " +
"PublicKeyToken=b77a5c561934e089");
Nguồn
2009-06-25 15:06:37
+1 Được thực hiện tốt - Tôi đã thêm câu trả lời hiển thị * cách * sử dụng loại sau khi bạn đã truy xuất. Nếu bạn muốn, hãy tiếp tục và kết hợp ví dụ của tôi vào câu trả lời của bạn và tôi sẽ xóa của tôi. –
Vì bạn đã được chấp nhận, tôi đề nghị chúng tôi làm theo cách khác - bạn thêm nội dung vào câu trả lời của mình và tôi sẽ xóa nội dung này :) –
Chỉ để mở rộng câu trả lời của bạn, nếu bạn không chắc chắn để chuyển văn bản thành hàm GetType và bạn có thể truy cập lớp này, sau đó xem typeof (lớp).AssemblyQualifiedName, điều này sẽ cho ý tưởng rõ ràng. – techExplorer