在.NET中是否有办法让类属性具有第二个名称或别名。我希望别名在Visual Studio Intellisense中显示?原因是我知道什么属性映射到数据库中的哪个列,如果我将列名放在具有相应属性的位置,我可以很容易地知道映射是如何工作的。
答案 0 :(得分:8)
您可以将列名放在属性的XML注释中,例如
/// <summary>
/// Maps to column 'foo'
/// </summary>
public int Foo { get; set; }
XML注释的内容将显示在Intellisense工具提示中,用于Foo属性。
答案 1 :(得分:5)
我认为无论如何都要给它一个别名,但你可以轻松地创建另一个具有不同名称的属性,只需访问你想要访问的属性。
class MyClass
{
private int myVal;
public int MyProperty
{
get { return this.myVal; }
set { this.myVal = value; }
}
public int MyDbProperty
{
get { return this.MyProperty; }
set { this.MyProperty = value; }
}
}
答案 2 :(得分:1)
您可以简单地添加另一个属性,为您分配想要“别名”的属性。
public String InnerProp { get; set; }
public String AliasProp
{
get { return this.InnerProp; }
set { this.InnerProp = value; }
}
答案 3 :(得分:1)
无法在元数据甚至语言级别执行此操作。但是,您可以使用转发其请求的简单属性来实现相同的结果
public class Student {
private string _name;
public string ColumnName { get { return _name; } set { _name = value; } }
public string Name { get { return ColumnName; } set { ColumnName = value; }}
}