次の方法で共有


:: 演算子 - 名前空間エイリアス演算子

エイリアス化された名前空間のメンバーにアクセスするには、名前空間エイリアス修飾子 :: を使用します。 ::修飾子は、2 つの識別子の間でのみ使用できます。 左側の識別子には、名前空間エイリアス、extern エイリアス、または global エイリアスのいずれかを指定できます。 例えば次が挙げられます。

  • using エイリアス ディレクティブを使用して作成された名前空間エイリアス:

    using forwinforms = System.Drawing;
    using forwpf = System.Windows;
    
    public class Converters
    {
        public static forwpf::Point Convert(forwinforms::Point point) => new forwpf::Point(point.X, point.Y);
    }
    
  • extern エイリアス

  • global エイリアス。グローバル名前空間のエイリアスです。 グローバル名前空間は、名前付き名前空間内で宣言されていない名前空間と型を含む名前空間です。 ::修飾子と共に使用すると、ユーザー定義のglobal名前空間エイリアスがある場合でも、globalエイリアスは常にグローバル名前空間を参照します。

    次の例では、 global エイリアスを使用して、グローバル名前空間のメンバーである .NET System 名前空間にアクセスします。 globalエイリアスがないと、MyCompany.MyProduct名前空間のメンバーであるユーザー定義のSystem名前空間にアクセスします。

    namespace MyCompany.MyProduct.System
    {
        class Program
        {
            static void Main() => global::System.Console.WriteLine("Using global alias");
        }
    
        class Console
        {
            string Suggestion => "Consider renaming this class";
        }
    }
    

    global キーワードは、::修飾子の左側の識別子である場合にのみ、グローバル名前空間のエイリアスです。

. トークンを使用して、エイリアス化された名前空間のメンバーにアクセスすることもできます。 ただし、 . トークンは、型メンバーへのアクセスにも使用されます。 ::修飾子は、同じ名前の型または名前空間が存在する場合でも、左側の識別子が常に名前空間のエイリアスを参照するようにします。

C# 言語仕様

詳細については、C# 言語仕様名前空間エイリアス修飾子に関するセクションを参照してください。

こちらも参照ください