如何獲取對象中存在的所有日期時間類型?從對象中獲取特定類型
E.G.裝運對象包含有關裝運的所有詳細信息,如託運人名稱,收貨人等。它還包含許多日期時間字段,例如收到日期,運輸日期,交貨日期等。
如何獲取所有日期字段裝運對象?
如何獲取對象中存在的所有日期時間類型?從對象中獲取特定類型
E.G.裝運對象包含有關裝運的所有詳細信息,如託運人名稱,收貨人等。它還包含許多日期時間字段,例如收到日期,運輸日期,交貨日期等。
如何獲取所有日期字段裝運對象?
您可以使用反射。
Type myClassType = typeof(MyClass); // or object.GetType()
var dateTimeProperties = from property in myClassType.GetProperties()
where property.PropertyType == typeof(DateTime)
select property;
約反射在.NET多個讀
http://msdn.microsoft.com/en-us/library/system.reflection.propertyinfo.aspx
http://msdn.microsoft.com/en-us/library/system.reflection.fieldinfo.aspx
井的最簡單的方法是直接訪問屬性例如
var receivedDate = shipment.ReceivedDate;
var transportedDate = shipment.DeliveryDate;
...
另一種做法是讓你的Shipment
對象例如返回列表你
public Dictionary<string, DateTime> Dates
{
get
{
return new Dictionary<string, DateTime>()
{
new KeyValuePair<string, DateTime>("ReceivedDate", ReceivedDate),
new KeyValuePair<string, DateTime>("DeliveryDate", DeliveryDate),
...
}
}
}
...
foreach (var d in shipment.Dates)
{
Console.WriteLine(d.Key, d.Value);
}
或者最後,使用反射來遍歷屬性:
public Dictionary<string, DateTime> Dates
{
get
{
return from p in this.GetType().GetProperties()
where p.PropertyType == typeof(DateTime)
select new KeyValuePair<string, DateTime>(p.Name, (DateTime)p.GetValue(this, null));
}
}
請告訴我你的代碼呢? – BugFinder