类中的属性可以在.NET中具有第二个名称或别名吗?

时间:2009-06-30 16:06:10

标签: .net

在.NET中是否有办法让类属性具有第二个名称或别名。我希望别名在Visual Studio Intellisense中显示?原因是我知道什么属性映射到数据库中的哪个列,如果我将列名放在具有相应属性的位置,我可以很容易地知道映射是如何工作的。

4 个答案:

答案 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; }}
}