これらは同様の質問です:方法: Silverlight の文字列を使用して実行時に参照アセンブリから型をロードすると、参照アセンブリ内のクラスのGetType は失敗しますが、どちらの回答も機能しません。
単純な型を文字列として含むデータベースからデータを取得する MVC プロジェクトがあります。これらの型は、MVC プロジェクトではなく、参照アセンブリにあります。
したがって、たとえば、私の参照アセンブリ名がMyFramework
であり、単純な型名であるとしましょうCar
。完全な型名はMyFramework.Cars.Car
またはMyFramework.Vehicles.Cars.Car
またはその他のバリエーションである可能性があります。私が持っているのは、参照されたアセンブリ名と文字列としてのプレーンなクラス名だけです。完全な型名に関係なく、どのように型を取得できますか?
最後に、参照先のアセンブリに GetType() を呼び出す関数を記述し、それを MvC プロジェクトで使用して、アセンブリ名を含めなくてもよいでしょうか? アセンブリ名を知っていることを削除したいので、参照されているアセンブリに Util IN を次のように記述できると考えました。
namespace MyFramework //the referenced assembly
{
public static class TypeUtil
{
public static Type GetFrameworkType(string typeName)
{
return Type.GetType(typeName);
}
}
}
そして、私の MVC プロジェクトでは、アセンブリを文字列名として必要とせずに呼び出すことができました。それは可能ですか、それとも常にアセンブリ名が必要ですか?