0

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

这是许多已解析字符串数组中的一个示例,它们为我的主要代码贡献了 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);`

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

4

1 回答 1

2

如果您只想隐藏,请使用 #region / #endregion

如果您想要类似 C++#include的功能,您可以使用部分类功能:将您的类拆分为多个源文件,其中一些带有字符串,另一个带有实际源代码。

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

于 2016-09-27T20:58:41.707 回答