C# 显示名称MVC的数据注释

C# 显示名称MVC的数据注释,c#,asp.net-mvc,C#,Asp.net Mvc,我想创建一个自定义数据注释,它应该从我的数据库表返回成员/字段显示名称,为此我需要传递两个参数,即表名和列名 我是手动通过的。如果使用visual studio 2015和c#6 您很容易得到类的属性名 例如: public class _Hosts_List { [getfieldsdisplayname("Hosts_List")] public string IP { get; set; } } public class getfieldsdisplayname : Displa

我想创建一个自定义数据注释,它应该从我的数据库表返回成员/字段显示名称,为此我需要传递两个参数,即表名和列名


我是手动通过的。

如果使用visual studio 2015和c#6 您很容易得到类的属性名

例如:

public class _Hosts_List {
  [getfieldsdisplayname("Hosts_List")]
  public string IP { get; set; }
}

public class getfieldsdisplayname : DisplayNameAttribute {
  public getfieldsdisplayname(string tblname)
           : base(GetMessageFromResource(tblname)) {
}


private static string GetMessageFromResource(string tblname) {
  DBContext db = new DBContext();
  colname = base.displayname // getting error 

  return db.fieldsnames.Where(col => col.ColumnsName == colname ).Select(dis => dis.DisplayName).FirstOrDefault().ToString(); // return display name from database
}
获取属性名

class Person
{

public string FirstName{get;set;}

}
它将返回“FirstName”


如果您使用visual studio 2015和c#6,我希望我能理解您的问题 您很容易得到类的属性名

例如:

public class _Hosts_List {
  [getfieldsdisplayname("Hosts_List")]
  public string IP { get; set; }
}

public class getfieldsdisplayname : DisplayNameAttribute {
  public getfieldsdisplayname(string tblname)
           : base(GetMessageFromResource(tblname)) {
}


private static string GetMessageFromResource(string tblname) {
  DBContext db = new DBContext();
  colname = base.displayname // getting error 

  return db.fieldsnames.Where(col => col.ColumnsName == colname ).Select(dis => dis.DisplayName).FirstOrDefault().ToString(); // return display name from database
}
获取属性名

class Person
{

public string FirstName{get;set;}

}
它将返回“FirstName”


我希望我能理解你的问题

到底是什么问题?请提供更多细节。简短回答的可能重复之处是,您可能应该重新考虑您的设计。属性不必知道它所应用到的类或属性的任何信息。这不是属性的用途。而且,约定属性类应该以
属性
结尾。所以
GetFieldsDisplayNameAttribute
。到底是什么问题?请提供更多细节。简短回答的可能重复之处是,您可能应该重新考虑您的设计。属性不必知道它所应用到的类或属性的任何信息。这不是属性的用途。而且,约定属性类应该以
属性
结尾。因此
GetFieldsDisplayNameAttribute