小编asd*_*das的帖子

C#如何获取类属性的名称(在字符串中)?

public class TimeZone
{
    public int Id { get; set; }
    public string DisplayName{ get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我在其他一些课程中:

   var gmtList = new SelectList(
       repository.GetSystemTimeZones(), 
       "Id",
       "DisplayName");
Run Code Online (Sandbox Code Playgroud)

注意:System.Web.Mvc.SelectList

我不喜欢用"Id"和"DisplayName"来编写属性名称.稍后,可能属性名称将更改,编译器将不会检测到此错误.C#如何在字符串中获取属性名称?

更新1

在Christian Hayter的帮助下,我可以使用:

var tz = new TimeZone();
var gmtList = new SelectList(
    repository.GetSystemTimeZones(), 
    NameOf(() => tz.Id), 
    NameOf(() => tz.TranslatedName));
Run Code Online (Sandbox Code Playgroud)

要么

var gmtList = new SelectList(
    repository.GetSystemTimeZones(), 
    NameOf(() => new TimeZone().Id), 
    NameOf(() => new TimeZone().TranslatedName));
Run Code Online (Sandbox Code Playgroud)

如果有人有其他想法而无需创建新对象.随意分享:)谢谢.

c#

2
推荐指数
1
解决办法
5105
查看次数

标签 统计

c# ×1