0

我正在编写一些 C# 代码,其中有几个文件使用相同的公共变量(我们现在将这些变量称为 a、b 和 c)。免责声明:请不要责备我的代码质量,不是我写的,修复它只是我的工作。这些变量是公共的,并且在所有文件中共享,并且实际上应该是一个数组(a、b 和 c 都做同样的事情,只是属性略有不同)。我正在修改最大的文件以取出对变量的所有引用并将它们替换为数组 letters[],但其他文件包含对这些变量的不同引用。有没有办法在其他文件中定义某种变量或宏,这样我就不必更改每个文件中的每个引用?

例如:在最大的文件“main.cs”中,我曾经有:

    public string a;  
    public string b;  
    public string c;  
    a = "a";  
    b = "b";  
    c = "c";  

但我将其修复为:

    string[] letters;  
    letters[0] = "a";  
    //etc

现在,在文件“small.cs”中,我有

    a = "hello world";  
    b = "goodbye world";  

不必遍历每个文件,有什么方法可以将“a”定义为字母 ( letters[0])、b 引用letters[1]等的第一个元素?这样,程序仍然可以运行,并且在小文件中,C# 会知道对 'a' 的任何引用实际上意味着对letters[0].

4

3 回答 3

6

使用属性:

public string A { get { return letters[0]; } }
于 2012-08-15T19:55:16.810 回答
1

从属性中引用它们:

public string a
{
     get
     {
           return letters[0];
     }
     set
     {
           letters[0] = value;
     }
}
于 2012-08-15T19:57:29.870 回答
0

而不是写

     public string a;
     public string b; 
     public string c;
     a = "a";
     b = "b";
     c = "c";   

     private List<string> vals = new List<string>{ "a", "b", "c" };
     public string a { get { return vals[0]; } set { vals[0] = value; } }
     public string b { get { return vals[1]; } set { vals[1 = value; } }
     public string c { get { return vals[2]; } set { vals[2] = value; } }
于 2012-08-15T19:58:32.200 回答