wonea
wonea

Reputation: 4969

Members of object not being returned by PropertyInfo c#

I'm trying to use PropertyInfo interate through a class and create a datatable from it. However it returns no values. I'm a little stumped;

public class thetransactions
{
    public string FirstName;
    public string Surname;
    public string PreviousOwner;
    public string NewOwner;
    public string postcode;
    public string[] FileName;
}

Then do the legwork with this code;

theTransactions[] thetransactions = new theTransactions[10];
thetransactions[0] = JsonConvert.DeserializeObject<theTransactions>(mydatastring);

PropertyInfo[] properties = thetransactions.GetType().GetElementType().GetProperties();
DataTable sampletable = new DataTable();
DataColumn dc = null;

foreach (PropertyInfo pi in properties)
{
    dc = new DataColumn();
    dc.ColumnName = pi.Name;
    dc.DataType = pi.PropertyType;
    sampletable.Columns.Add(dc);
}

Upvotes: 0

Views: 184

Answers (1)

Giuseppe Accaputo
Giuseppe Accaputo

Reputation: 2642

The problem is that you're defining normal variables in your thetransactions class and not properties:

public class thetransactions
{
    public string FirstName{get;set;}
    public string Surname{get;set;}
    public string PreviousOwner{get;set;}
    public string NewOwner{get;set;}
    public string postcode{get;set;}
    public string[] FileName{get;set;}
}

Upvotes: 2

Related Questions