[解決済み] 異なるアセンブリのクラス名から型を解決する
2023-02-01 19:03:09
質問
あるクラスの Type を解決する必要があるメソッドがあります。このクラスは、名前空間が似ている別のアセンブリに存在します。
MyProject.Domain.Model
以下のように実行しようとしています。
Type.GetType("MyProject.Domain.Model." + myClassName);
このアクションを実行しているコードが、型を解決しようとしているクラスと同じアセンブリにある場合、このコードはうまく機能しますが、私のクラスが別のアセンブリにある場合、このコードは失敗します。
このタスクを達成するはるかに良い方法があることは確かですが、探しているクラスの型を解決するためにアセンブリを解決し、その中で名前空間を横断する経験はあまりありません。このタスクをより優雅に達成するためのアドバイスやヒントがあれば教えてください。
どのように解決するのですか?
このようにアセンブリ名を追加する必要があります。
Type.GetType("MyProject.Domain.Model." + myClassName + ", AssemblyName");
曖昧さを避けるため、またはアセンブリがGACにある場合は、このような完全修飾されたアセンブリ名を指定する必要があります。
Type.GetType("System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089");
関連
-
[解決済み】「未割り当てのローカル変数を使用」とはどういう意味ですか?
-
[解決済み】スクリプトクラスが見つからないので、スクリプトコンポーネントを追加できない?
-
[解決済み】MetadataException: 指定されたメタデータ・リソースをロードできない
-
[解決済み】"指定されたパスのフォーマットはサポートされていません。"
-
[解決済み】HRESULTからの例外:0x800A03ECエラー
-
[解決済み] Typeから新しいオブジェクトのインスタンスを作成する方法
-
[解決済み] 汎用クラスやメソッドのメンバからTの型を取得する方法
-
[解決済み] C#が独自のクラス名を取得する
-
[解決済み】アセンブリ名の取得
-
[解決済み] 型名または名前空間名 'Objects' は名前空間 'System.Data' に存在しません。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】"出力タイプがクラスライブラリのプロジェクトは直接起動できない"
-
[解決済み] 'SubSonic.Schema .DatabaseColumn' 型のオブジェクトをシリアライズする際に、循環参照が検出されました。
-
[解決済み】なぜこのコードはInvalidOperationExceptionを投げるのですか?
-
[解決済み】"指定されたパスのフォーマットはサポートされていません。"
-
[解決済み】「...は'型'であり、与えられたコンテキストでは有効ではありません」を解決するにはどうすればよいですか?(C#)
-
[解決済み】Visual Studio: 操作を完了できませんでした。パラメータが正しくありません
-
[解決済み] [Solved] .NETでスレッドの終了を待つには?
-
[解決済み】データが存在しないのに読み込もうとする試みが無効である
-
[解決済み】Nullableオブジェクトは値を持たなければならない?
-
[解決済み】Type.GetType("namespace.a.b.ClassName")がnullを返す。