Eu examino as propriedades de um objeto por meio de reflexão e continuo processando o tipo de dados de cada propriedade. Aqui está minha fonte (reduzida):
private void ExamineObject(object o)
{
Type type = default(Type);
Type propertyType = default(Type);
PropertyInfo[] propertyInfo = null;
type = o.GetType();
propertyInfo = type.GetProperties(BindingFlags.GetProperty |
BindingFlags.Public |
BindingFlags.NonPublic |
BindingFlags.Instance);
// Loop over all properties
for (int propertyInfoIndex = 0; propertyInfoIndex <= propertyInfo.Length - 1; propertyInfoIndex++)
{
propertyType = propertyInfo[propertyInfoIndex].PropertyType;
}
}
Meu problema é que recentemente preciso lidar com propriedades anuláveis, mas não tenho ideia de como obter o tipo de uma propriedade anulável.