アイコン

りにあの自由時間

...

< 一覧へ
【C#】動的に別アセンブリのTypeを取得する方法
X(旧Twitter)

ライブラリを作るときに、ライブラリをインポートした側の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

実行箇所からランタイム上での直接アクセスが許されている最大の領域は「同一アプリケーションドメイン内にあるすべてのアセンブリ」なので、その中をすべて検索すれば良さそう。

Rinia/りにあ
Rinia/りにあ
X(旧Twitter)GitHub

ゲームクリエイターをしてます! わくわくする遊びを作るのが好き!

ゲーム以外にもたまに変なものを作ってます。森羅万象の設計が特技。限界開発鯖RineaR所属。

共有お願いします!
X(旧Twitter)