Maybe a silly question, I can read all the properties from list parameter but not the value in the fields of `<T>`.

This is the structure

```
    public class TestRecord {
          public string StringTest { get; set; }
          public int IntegerTest { get; set; }
          public DateTime DateTimeTest { get; set; }
    }

```

The generic method

```
    public void TestOfT<T>(List<T> pList) where T:class, new() {
        T xt = (T)Activator.CreateInstance(typeof(T));
        foreach (var tp in pList[0].GetType().GetProperties()) {
        // System.Reflection.PropertyInfo pi = xt.GetType().GetProperty("StringTest");
        // object s = pi.GetValue(tp, null) ;  -- failed
            Debug.WriteLine(tp.Name);
            Debug.WriteLine(tp.PropertyType);
            Debug.WriteLine(tp.GetType().Name);
        }
     }

```

Test code for generic method

```
    public void TestTCode()  {
        List<TestRecord> rec = new List<TestRecord>();
        rec.Add(new TestRecord() {
             StringTest = "string",
             IntegerTest = 1,
             DateTimeTest = DateTime.Now
        });
        TestOfT<TestRecord>(rec);
    }

```

Thanks for your help.