To są podobne pytania: 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, ale żadna odpowiedź nie działa.Pobierz typ w zestawie referencyjnym, podając nazwę klasy jako ciąg?
Mam projekt MVC, który pobiera dane z bazy danych, która zawiera typy zwykłe jako ciągi. Te typy znajdują się w zespole referencyjnym, a nie w projekcie MVC.
Tak na przykład powiedzmy moja odniesione Nazwa Zgromadzenie jest MyFramework
a zwykły nazwa typu Car
, pełna nazwa typu może być MyFramework.Cars.Car
lub MyFramework.Vehicles.Cars.Car
lub jakaś inna odmiana. Wszystko, co mam, to referencyjna nazwa zespołu i prosta nazwa klasy jako ciągi. Jak mogę uzyskać typ bez względu na pełną nazwę typu?
Wreszcie, czy mógłbym napisać funkcję w zestawie referencyjnym, która wywołuje metodę GetType() i użyć jej w projekcie MvC, abym mógł zrezygnować z nazwy zestawu? Chcę usunąć znając nazwę zespołu tak myślałem, mógłbym napisać Util w odwołuje montażu jak:
namespace MyFramework //the referenced assembly
{
public static class TypeUtil
{
public static Type GetFrameworkType(string typeName)
{
return Type.GetType(typeName);
}
}
}
A potem w moim projekcie MVC mogę nazwać to bez konieczności montażu jako nazwy strun. Czy to możliwe, czy zawsze będę potrzebować nazwy zespołu?
Dlaczego inne odpowiedzi nie zadziałały? –
@RobertHarvey To dlatego, że mam po prostu zwykłą nazwę klasy. To nie jest pełna nazwa typu. Te odpowiedzi polegają na znajomości pełnego typu. – SventoryMang