注
コミュニティの関心グループが Yammer から Microsoft Viva Engage に移行されました。 Viva Engage コミュニティに参加し、最新のディスカッションに参加するには、「 Finance and Operations Viva Engage Community へのアクセスを要求する 」フォームに入力し、参加するコミュニティを選択します。
X++ は、エンタープライズ リソース プランニング (ERP) プログラミングおよびデータベース アプリケーションで使用する、オブジェクト指向、アプリケーション対応、およびデータ対応のプログラミング言語です。 次の表で強調表示された幅広いシステム プログラミング領域のシステム クラスを提供します。
| X++ 言語機能 | 説明 |
|---|---|
| クラス | アプリケーション クラスは、システム クラスに加えて、さまざまな種類のビジネス プロセスを管理します。 X++ では、クラスのリフレクションがサポートされています。 |
| テーブル | X++ プログラマはリレーショナル テーブルにアクセスできます。 X++ には標準 SQL の大部分のキーワードと一致するキーワードが含まれます。 X++ では、テーブルのリフレクションがサポートされています。 |
| ユーザー インターフェイス | フォームやレポートなどのユーザー インターフェイス項目の操作。 |
| 推奨チェック | コンパイラは X++ コードで構文エラーをチェックします。 コンパイル プロセスでは、ベスト プラクティス チェックも実行されます。 ベスト プラクティスの違反によりコンパイラのメッセージを生成できます。 |
| ガベージ コレクション | X++ ランタイム実行エンジンには、メモリ領域を再利用できるように、参照されなくなったオブジェクトを破棄する自動メカニズムがあります。 |
| 相互運用性 | X++ では、X++ と C# (または他の .NET Framework 言語) で記述されたクラス間の相互運用性がサポートされています。 |
| ファイルの操作 | X++ では、XML のビルドと解析など、ファイルの入力と出力がサポートされます。 |
| 取立 | X++ は動的配列をサポートし、複数のコレクション オブジェクトを含みます。 |
X++ コンパイルから Microsoft .NET CIL (共通中間言語)
X++ ソース コードは、Microsoft .NET CIL (共通中間言語) にコンパイルされます。 CIL は、C# および Visual Basic 用の .NET コンパイラの出力です。 CIL にコンパイルする利点は次のとおりです。
- コードは、以前のバージョン (AX2012 以前) よりも高速に動作します。
- 他のマネージド言語でアプリケーション ロジックを記述し、そのロジックを X++ アプリに統合する方が簡単です。
- X++ アプリでは、他の .NET アセンブリ DLL ファイルで使用できるクラスを効率的に参照できます。
- 多くの .NET ツールは CIL で動作できます。
標準コンパイル 単位は、他の .NET 言語の場合と同じです。 モデル要素 (クラス、フォーム、クエリなど) で任意のメソッドがコンパイルに失敗すると、すべてのコンパイルが失敗します。
以前のバージョン (AX2012 以前) からコードをアップグレードする場合は、 Global::runClassMethodIL などの CIL ヘルパー メソッドは関連しなくなったため削除されることに注意してください。
詳細については、「マネージド コード」とは何ですか? を参照してください。
無視リスト
アセンブリは正常なコンパイルから生成され、ランタイム システムは不完全なアセンブリを読み込むことはありません。 レガシ アプリケーションを移植するときに、段階的な方法で実行することが有益なシナリオが発生する場合があります。 すべてを移植する前に、アプリケーションの一部をテストすることが必要になる場合があります。 この方法は、この非常に限られたシナリオに役立ちますが、システムのデプロイ後に実行時に発生する問題を隠すので、アプリケーションを運用する準備ができたら使用しないでください。 X++ コードの一部を無視するには、プロジェクトのコンテキスト メニューから [ベスト プラクティス抑制の編集] を選択して、XML でメソッドを指定します。 この操作により、除外を保持する XML ドキュメントが開きます。
概念
X++ 言語のプログラミング リファレンスは、以下のセクションに分かれています。