Ich muss den Typ aller Mitglieder in einer Klasse abrufen.Abrufen von Typen aller Mitglieder einer Klasse
public class Order
{
public int OrderID { get; set; }
public int EmployeeID { get; set; }
public string CustomerID { get; set; }
public DateTime OrderDate { get; set; }
public bool Verified { get; set; }
public Order(int orderId, int empId, string custId, DateTime orderDate, bool verify)
{
this.OrderID = orderId;
this.EmployeeID = empId;
this.CustomerID = custId;
this.OrderDate = orderDate;
this.Verified = verify;
}
}
und der Wert für die Klasse i durch Liste hinzugefügt haben
List<dynamic> dy = new List<dynamic>();
dy.Add(new { OrderID = 11, EmployeeID = 5, CustomerID = "ALFKI", OrderDate = new DateTime(2015,01, 10), Verified = true });
dy.Add(new { OrderID = 12, EmployeeID = 4, CustomerID = "CDSAW", OrderDate = new DateTime(2015, 02, 12), Verified = true });
dy.Add(new { OrderID = 13, EmployeeID = 6, CustomerID = "ASDFG", OrderDate = new DateTime(2015, 03, 13), Verified = true });
dy.Add(new { OrderID = 14, EmployeeID = 3, CustomerID = "XSDAF", OrderDate = new DateTime(2015, 04, 14), Verified = false });
dy.Add(new { OrderID = 15, EmployeeID = 2, CustomerID = "MNHSD", OrderDate = new DateTime(2015, 05, 15), Verified = true });
dy.Add(new { OrderID = 16, EmployeeID = 1, CustomerID = "OKJHG", OrderDate = new DateTime(2015, 06, 16), Verified = false });
return dy;
Für die Felder Typen, habe ich versucht, mit dem folgenden Code.
Type type = dataSource.GetElementType();
Type t = typeof(object);
t = type.GetProperty("OrderDate").PropertyType;
Es löst einen Null Ausdruck Fehler.
Hier OrderDate ist DateTime-Objekt.
Type type = dataSource.GetType();
Diese Zeile gibt System.object zurück.
Wenn Sie versuchen, den Feldtyp OrderDate zu erhalten.
type.GetProperty(filterString).PropertyType;
gibt Null zurück, um dieses Problem zu beheben.
Online: https://dotnetfiddle.net/zTYJGU
Sie meinst du wie hier beschrieben? http://stackoverflow.com/questions/6536163/how-to-list-all-variables-of-class – Essigwurst
Das sieht aus wie eine unangemessene Verwendung von 'dynamischen' ... –
können Sie definieren, was' dataSource' ist? –