...
ライブラリを作るときに、ライブラリをインポートした側のTypeを取得したい。あまり使わないと思うけど、用途としてはコード上の定義ファイルを設定として取得したいときとか。
using System;
public static Type FindTypeFromAllAssembly(string typeName)
{
Type type = null;
foreach (var assembly in AppDomain.CurrentDomain.GetAssemblies())
{
type = assembly.GetType(typeName);
if (type != null)
{
break;
}
}
return type;
}
アプリケーション ドメイン - .NET Framework | Microsoft Learn
実行箇所からランタイム上での直接アクセスが許されている最大の領域は「同一アプリケーションドメイン内にあるすべてのアセンブリ」なので、その中をすべて検索すれば良さそう。