C#变量名称别名

时间:2015-05-30 04:11:44

标签: c# variables naming-conventions alias

在我的程序中有很多具有相同名称变量的类(因为它们是从数据库中提取的,并且变量名称必须与数据库中的名称完全匹配)。

虽然子类化是一个很好的选择,但它也过多而且不能处理我所追求的情况。具体来说,如果我的基类持有100个变量,那么我的所有子类都需要它们的任意随机组合,几乎需要与子类一样多的基类。因此,理想的路径是某种变量名称别名。

我想知道是否有办法让我的所有课程都能分享变量名称别名。

所以没有

//an armor class
public class Armor
{
    public string name{ get; set; }
}

//a weapon class
public class Weapon
{
    public string name{ get; set; }
}

我可以拥有像

这样的东西
static class Aliases
{
   define name as NAME<String> //or 'something' like this
}

然后

//an armor class
    public class Armor
    {
        public string NAME{ get; set; }
    }

    //a weapon class
    public class Weapon
    {
        public string NAME{ get; set; }
    }

然后,如果我们需要更改代码或数据库,我不必经历更新关联的每个类变量。我只是重命名或删除变量名称别名。这可能(或者我在做梦)?

1 个答案:

答案 0 :(得分:2)

您可以创建一个抽象基类,其名称相似。至少那时只有一个地方可以改变它。

public abstract class Item
{
    public string NAME { get; set; }
}

public class Armor : Item
{
    // Other armor-specific stuff
}

public class Weapon : Item
{
    // Other weapon-specific stuff
}