What you need is to use something called reflection.
c - Google Search[
^]
Reflection (C#) | Microsoft Docs[
^]
How C# Reflection Works With Code Examples[
^]
To specifically achieve what you want you'd need to do something like this
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);
Console.WriteLine("Property {0} - Value {1}", propertyName, value);
}
The above solution returns
Quote:
Property X1 - Value ValueX1
Property X2 - Value ValueX2
Property X3 - Value ValueX3
Property X4 - Value ValueX4
Property X5 - Value ValueX5
Property X6 - Value ValueX6
Property X7 - Value ValueX7
Property X8 - Value ValueX8
Property X9 - Value ValueX9
Property X10 - Value ValueX10