JavaのC#から次の機能を正しく提供するにはどうすればよいですか?
[C#]
#define PRODUCTION //Change from sandbox to production to switch between both systems.
#if SANDBOX
using NetSuite.com.netsuite.sandbox.webservices;
#endif
#if PRODUCTION
using NetSuite.com.netsuite.webservices;
#endif
Javaにはプリプロセッサがありません-簡単な答えは、できないということです。
この種のことは通常、依存性注入を使用してJavaで処理されます。これはより強力で柔軟性があります。
http://www.vogella.com/articles/DependencyInjection/article.html
Javaにはプリプロセッサがありませんが、それはJava cpp
を介してコードを実行できないことを意味しません-ただし、どのツールでもサポートされていませんが、 。
依存性注入/制御の反転を使用します。実際のニーズに応じて、物事を制御するためのプロパティファイル/環境変数のような単純なもので逃げることができるかもしれません。
some初期化/コードの周りで静的定義を使用できるかもしれません。
Manifold's Javaプリプロセッサー。コンパイラーに直接プラグインするため、本当に簡単に使用できます。ビルド手順や中間コード生成などは不要です。
<#FreeMarker>に基づいたものを使用できます。
ソース: https://github.com/mkowsiak/jpp
ただし、コードを変更する場合、このソリューションではプリコンパイル手順が必要になります。一方、前処理ステップなしで機能するコードを作成することもできます-一種の「デフォルト」コンパイル。