タイプがハコード文字列を使用せずに名前空間の一部であるかどうかを確認できますか?タイプがハードコードされた文字列を持たない名前空間に属しているかどうかを確認してください
私のような何かやろうとしている:これらの例は、コンパイルされませんが、何のアイデアを与える必要があり
Type type = typeof(System.Data.Constraint);
if(type.Namespace == "System.Data")
{...}
を避けるために
Type type = typeof(System.Data.Constraint);
if(type.Namespace == System.Data.ToString())
{...}
または
Type type = typeof(System.Data.Constraint);
if(type.Namespace == System.Data)
{...}
を私は達成しようとしています。
nameof(System.Data)
は"Data"
しか返さないため使用できません。
文字列に名前空間を持たなくても、名前空間の一部であるかどうかを調べる方法を探したいと思います。
気になるものだけが好きですe。String.Join( "。"、nameof(System)、nameof(System.Data))。醜いが、まだまだあなたは何をしたいのですか? – Evk
文字列のハードコーディングと(最終的に)名前空間のハードコーディングの違いは何ですか? –
なぜ私はリフレクションで 'NamespaceInfo'クラスのようなものがないのか興味があります。私はあなたがここにそれを必要としているのを十分に理解していませんか?なぜ文字列はありませんか?あなたは 'type.Namespace'と比較したい情報をどこから得るのですか?コンパイル時にそれが分かっていれば、なぜ文字列はありませんか? –