Warm tip: This article is reproduced from serverfault.com, please click

其他-c#反射,如何获取泛型类型类的属性

(其他 - c# Reflection, how to get generic type class properties)

发布于 2020-11-29 09:44:27

我有一个泛型类型List<Shift>,其中

public class Shift
{
    [DisplayFormat(DataFormatString = "dd-MMM-yyy '(hours)'")]
    public DateTimeOffset Date { get; set; }

    [DisplayFormat(DataFormatString = "hh':'mm")]
    public TimeSpan TimeWorked { get; set; }
}

我正在尝试使用反射获取具有属性的时间表道具

var props = typeof(List<ShiftDayItem>).GetProperties();
var ShiftProperty = props.Last();

但是ShiftProperty不包含任何属性,因此我无法访问Date或TimeWorked。反射是否没有意识到这些,或者我还有另一种获取这些属性的方法吗?谢谢!

Questioner
Elvis Skensberg
Viewed
0
Eng. M.Hamdy 2020-11-29 18:14:11

你需要更多代码:

Dim shifttprops= ShiftProperty.PropertyType.GetProperties()
For Each prop in shifttprops
   Dim attrs = prop.CustomAttributes
Next

注意使用CustomAttributes代替Attributes