C# 一种从我的 main 中隐藏(清理)许多声明变量的有组织的方法?

C# an organized way to hide (clean up) many declared variables from my main?

所以如果我的 main 中有很多长的全局字符串变量,最终在我的 main 中占用了很多行(大约 500 行给你一个想法)有没有办法可以将它们隐藏在其他地方但仍然可以在我的主目录中访问它们?为了更好地说明,如果这是 C++,我将创建一个定义了这些变量的 header,然后是 link header。我可以用 c# 做同样的事情吗?

这是为我的 main 贡献了 500 行代码的许多已解析字符串数组之一的示例:

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);`

编辑:请有更多经验的人修复代码片段,不确定哪里出了问题

如果你只是想隐藏,使用#region / #endregion

如果你想要类似 C++ #include 的功能,你可以使用 partial class feature:将你的 class 分成多个源文件,一些包含字符串,另一个包含实际的源代码.

但 IMO 更好的解决方案是将字符串从 C# 源移动到其他地方。 例如,给一个字符串 table in a .resx file。这样 IDE 将为您提供用于编辑数据的漂亮 GUI,并且内置代码生成器将允许您通过符号名称引用 C# 代码中的这些字符串。