在我的程序中有很多具有相同名称变量的类(因为它们是从数据库中提取的,并且变量名称必须与数据库中的名称完全匹配)。
虽然子类化是一个很好的选择,但它也过多而且不能处理我所追求的情况。具体来说,如果我的基类持有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; }
}
然后,如果我们需要更改代码或数据库,我不必经历更新关联的每个类变量。我只是重命名或删除变量名称别名。这可能(或者我在做梦)?
答案 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
}