アイコン

りにあの自由時間

...

< 一覧へ
【C#】動的に別アセンブリのTypeを取得する方法
X(旧Twitter)Facebookはてなブックマーク

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

某社でUnityエンジニアをしてます。限界開発鯖RineaR所属。

幼少期から周りを巻き込んで企画をすることが好きで、現在はゲーム作り以外にもWeb開発・コミュニティ活動・デザイン等を趣味でやってます。

共有お願いします!
X(旧Twitter)Facebookはてなブックマーク