Đây là những câu hỏi tương tự: How-to: Load a type from a referenced assembly at runtime using a string in Silverlight, GetType on a class in a referenced assembly fails nhưng không có câu trả lời nào hoạt động.Nhận loại trong hội đồng tham chiếu bằng cách cung cấp tên lớp dưới dạng chuỗi?
Tôi đã có dự án MVC để lấy dữ liệu từ cơ sở dữ liệu bao gồm các loại đơn giản dưới dạng chuỗi. Các kiểu này nằm trong một assembly được tham chiếu, chứ không phải trong dự án MVC.
Vì vậy, ví dụ giả sử Khảo Tên hội của tôi là MyFramework
và loại tên đồng bằng Car
, tên loại đầy đủ có thể là MyFramework.Cars.Car
hoặc MyFramework.Vehicles.Cars.Car
hoặc một số biến thể khác. Tất cả những gì tôi có là tên assembly được tham chiếu và tên lớp đơn giản là các chuỗi. Làm thế nào tôi có thể nhận được loại bất kể tên loại đầy đủ?
Cuối cùng, tôi có thể viết một hàm trong assembly được tham chiếu gọi GetType() và sử dụng nó trong dự án MvC để tôi có thể bỏ qua bao gồm tên assembly? Tôi muốn loại bỏ biết tên lắp ráp vì vậy tôi nghĩ tôi có thể viết một util TRÊN lắp ráp tham chiếu như:
namespace MyFramework //the referenced assembly
{
public static class TypeUtil
{
public static Type GetFrameworkType(string typeName)
{
return Type.GetType(typeName);
}
}
}
Và rồi trong dự án MVC của tôi, tôi có thể gọi nó mà không cần lắp ráp như một tên chuỗi. Có phải là có thể hoặc tôi sẽ luôn luôn cần tên lắp ráp?
Tại sao các câu trả lời khác không hoạt động? –
@RobertHarvey Đó là vì tôi chỉ có tên lớp đơn giản. Không phải tên đầy đủ. Những câu trả lời đó dựa vào việc biết loại đầy đủ. – SventoryMang