0

したがって、メインに多くの長いグローバル文字列変数があり、最終的にメインで多くの行 (アイデアを得るために約 500 行) を占有する場合、それらを別の場所に隠してもアクセスできる方法はありますか?私のメイン?明確にするために、これが c++ の場合、これらの変数を定義してヘッダーを作成し、ヘッダーをリンクします。C#でも同じことができますか?

これは、私のメインに 500 行のコードを提供する多くの解析済み文字列配列の 1 つの例です。

string [] m1756EN2T = @"    MODULE Drives (Description := ""~"",
               Parent := ""Local"",
               ParentModPortId := 1,
               CatalogNumber := ""1756-EN2T"",
               Vendor := 1,
               ProductType := 12,
               ProductCode := 166,
               Major := 10,
               Minor := 1,
               PortLabel := ""RxBACKPLANE"",
               Slot := 5,
               NodeAddress := ""192.168.0.1"",
               Mode := 2#0000_0000_0000_0000,
               CompatibleModule := 1,
               KeyMask := 2#0000_0000_0001_1111)
        ExtendedProp := [[[___<public><ConfigID>131178</ConfigID></public>___]]]
        ConfigData := [20,0,393217,33619969,256,0];
        CONNECTION Input2(Rate := 500000,
                           EventID := 0)

        END_CONNECTION

END_MODULE".Split(new string[] { Environment.NewLine }, StringSplitOptions.None);`

編集:より経験のある人がコードスニペットを修正してください。何が問題なのかわかりません

4

1 に答える 1

2

非表示にするだけの場合は、 #region / #endregion を使用してください

C++#include機能のようなものが必要な場合は、部分クラス機能を使用できます。クラスを複数のソース ファイルに分割し、文字列を含むものと実際のソース コードを含むものがあります。

しかし、IMO のより良い解決策は、文字列を C# ソースから別の場所に移動することです。たとえば、.resx ファイルの文字列テーブルに。このように、IDE はデータを編集するための優れた GUI を提供し、組み込みのコード ジェネレーターを使用すると、C# コードからこれらの文字列をシンボリック名で参照できます。

于 2016-09-27T20:58:41.707 に答える