David_Wimbley
Что вам нужно, так это использовать нечто, называемое рефлексией.
c - поиск в Google[^]
Отражение (C#) | Microsoft Docs[^]
Как Отражение C# Работает С Примерами Кода[^]
Чтобы конкретно достичь того, чего вы хотите, вам нужно будет сделать что-то вроде этого
var entity = new MyEntity();
entity.X1 = "ValueX1";
entity.X2 = "ValueX2";
entity.X3 = "ValueX3";
entity.X4 = "ValueX4";
entity.X5 = "ValueX5";
entity.X6 = "ValueX6";
entity.X7 = "ValueX7";
entity.X8 = "ValueX8";
entity.X9 = "ValueX9";
entity.X10 = "ValueX10";
for (int i = 1; i <= 10; i++)
{
var propertyName = string.Format(@"X{0}", i);
var value = entity.GetType().GetProperty(propertyName).GetValue(entity, null);
// You get the type from the class/object, then the property name (you have to build it since you have weird property names), then make a call to get value on your object to get the properties value.
Console.WriteLine("Property {0} - Value {1}", propertyName, value);
}
Указанное решение возвращается
Цитата:
Свойство X1 - Значение ValueX1
Свойство X2 - Значение ValueX2
Свойство X3 - Значение ValueX3
Свойство X4 - Значение ValueX4
Свойство X5 - Значение ValueX5
Свойство X6 - Значение ValueX6
Свойство X7 - Значение ValueX7
Свойство X8 - Значение ValueX8
Собственность Х9 - Значение ValueX9
Свойство X10 - Значение ValueX10