NAMESPACE では、エイリアスを使用して既存の NAMESPACE またはその他の種類のデータを参照することもできます。
エイリアスの使用形式は次のとおりです:
using alias = 既存のタイプ;
例: using soholife = System;
いくつかの例を通して理解を深めましょう:
namespace N1.N2
{
class A {}
}
namespace N3
{
using A = N1.N2.A;
class B: A {}
}
ここで、N3 では、 A は N1 です。 N2.A はエイリアスであり、N3.B は N1.N2.A! を継承します。同様に、次のメソッドを使用して同じ効果を実現することもできます。
class B: R.A {}
}
そういえば、最初に次の例を見てみましょう: namespace N1.N2{
class A {}
}
名前空間 N3{クラス A {}
}
}
B =N1.N2.A; を使用すると、結果はどうなるでしょうか?友達の皆さん、自分で考えてみましょう!多くは言いません!
クラス A {}
}
名前空間 N3
{
using R = N1.N2;
}
名前空間 N3
{
class B: R.A {}
}
上の例では、どう思うかわかりませんが、正しいでしょうか?間違い?
私が答えるとしたら、それは間違いです! (あはは、私は過去に多肢選択式の質問をする癖がついていました。そのような質問に対する答えはどれも間違いです! でも、その理由は説明できません!)
本当に、上記のプログラム、私はそう思いました最初に見たときは正しかったのですが、後で知りました。 。 。 、ああ、まだまだ本を読まないといけないようです! 別のユニットでエイリアスを使用する場合、そのエイリアスはそれが配置されているユニット (NAMESPACE など) でのみ使用でき、他のユニットでは使用できないことがわかります。 2 つの N3 で R を実行すると、R が不明であることが表示されます。もちろん、この方法を使用したい場合でも、次のように N3 の外側にエイリアス R を記述する方法があります。using R = N1.N2;
namespace N3
{
class B: R.A {}
}
さて、ここまでお話しましたが、すべてを理解できれば、NAMESPACE についていくつかの概念を理解できるはずです。これができれば、私の目標は達成されたことになります! 上記は、C# の名前空間の基礎 (2) の内容です。さらに関連する内容については、PHP 中国語 Web サイト (www.php.cn) に注目してください。