Вы должны быть в состоянии дифференцировать свойство индекса по тому факту, что оно требует параметров индекса. Этот запрос linq должен сделать это путем проверки метода GetIndexParameters
.
IEnumerable<PropertyInfo> indexProperties =
O.GetType().GetProperties().Where(pi => pi.GetIndexParameters().Any());
Дифференцирование, которое может быть сделано путем проверки чисел и типа параметров.
После разумной реализации свойств вашего индекса этот код:
foreach (PropertyInfo pi in indexProperties) {
foreach (ParameterInfo parm in pi.GetIndexParameters()) {
Console.WriteLine(parm.ParameterType.ToString());
}
Console.WriteLine();
}
Урожайность:
System.Int32
System.String
System.Int32
System.String
Press any key to continue . . .