プラットフォーム、既定、および cli 名前空間 (C++/CLI および C++/CX)Platform, default, and cli Namespaces (C++/CLI and C++/CX)

言語要素の名前は名前空間によって修飾されるため、それ以外は同じである名前と、ソース コードの別の部分で競合することはありません。A namespace qualifies the names of language elements so the names do not conflict with otherwise identical names elsewhere in the source code. たとえば、名前が競合すると、コンパイラで状況依存キーワードを認識できなくなります。For example, a name collision might prevent the compiler from recognizing Context-Sensitive Keywords. 名前空間はコンパイラによって使用されますが、コンパイルされたアセンブリでは保持されません。Namespaces are used by the compiler but are not preserved in the compiled assembly.

すべてのランタイムAll Runtimes

Visual Studio では、プロジェクトの作成時に、既定の名前空間がプロジェクトに与えられます。Visual Studio provides a default namespace for your project when you create the project. 名前空間の名前は手動で変更できますが、C++/CX では、.winmd ファイルの名前が、ルート名前空間の名前と一致している必要があります。You can manually rename the namespace, although in C++/CX the name of the .winmd file must match the name of the root namespace.

Windows ランタイムWindows Runtime

詳細については、「名前空間と型の参照範囲 (C++/CX)」を参照してください。For more information, see Namespaces and type visibility (C++/CX).

要件Requirements

コンパイラ オプション: /ZWCompiler option: /ZW

共通言語ランタイムCommon Language Runtime

構文Syntax

using namespace cli;

解説Remarks

C++CLI では、cli 名前空間がサポートされています。The C++/CLI supports the cli namespace. /clr を指定してコンパイルする場合、Syntax セクションで using ステートメントが使用されているとみなされます。When compiling with /clr, the using statement in the Syntax section is implied.

cli 名前空間には、次の言語機能が含まれます。The following language features are in the cli namespace:

要件Requirements

コンパイラ オプション: /clrCompiler option: /clr

使用例Examples

次のコード例では、cli 名前空間のシンボルを、ユーザー定義シンボルとして自分のコードで使用できることを示します。The following code example demonstrates that it is possible to use a symbol in the cli namespace as a user-defined symbol in your code. ただし、これを行った場合は、同じ名前の cli 言語要素への参照を、明示的または暗黙的に修飾する必要があります。However, once you have done so, you will have to explicitly or implicitly qualify your references to the cli language element of the same name.

// cli_namespace.cpp
// compile with: /clr
using namespace cli;
int main() {
   array<int> ^ MyArray = gcnew array<int>(100);
   int array = 0;

   array<int> ^ MyArray2 = gcnew array<int>(100);   // C2062

   // OK
   cli::array<int> ^ MyArray2 = gcnew cli::array<int>(100);
   ::array<int> ^ MyArray3 = gcnew ::array<int>(100);
}

関連項目See also

.NET および UWP でのコンポーネント拡張Component Extensions for .NET and UWP