Проблема в том, что GetProperties будет возвращать только общедоступные свойства по умолчанию. В C # члены не являются публичными по умолчанию (я считаю, что они являются внутренними). Попробуйте вместо этого
var props = type.GetProperties(BindingFlags.Instance | BindingFlags.NonPublic);
Перечисление BindingFlags довольно гибкое. Приведенная выше комбинация вернет все непубличные свойства экземпляра для типа. Что вы, вероятно, хотите, тем не менее, все свойства экземпляра независимо от доступности. В этом случае попробуйте следующее
var flags = BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic;
var props = type.GetProperties(flags);