Objeto AutoMapper a ICollection

Objeto AutoMapper a ICollection

La solución para el objeto AutoMapper en ICollection
se proporciona a continuación:

Tengo una clase que es un tipo de valor de identificación definido en una línea. Así:

public class PropertiesModel
{
    public decimal property1 { get; set; }
    public decimal property2 { get; set; }
    ...
    public decimal propertyz { get; set; }
}

y quiero asignarlo a una matriz de Id Value de la siguiente manera, creando una colección simple de esta clase:

public class IdValue
{
    public string Id { get; set; }
    public decimal Value { get; set; }
}

el valor resultante debe ser un objeto como:

IdValue[] exampleResult = new IdValue[] 
{
    new IdValue {
       Id = property1, // THe name of the first field in Property model
       Value = PropertiesModel.property1 // The actual value of the property 1 on the model
    },
    new IdValue {
       Id = property2, // THe name of the second field in Property model
       Value = PropertiesModel.property2 // The actual value of the property 2 on the model
    },
    ...
    new IdValue {
       Id = propertyz, // THe name of the z-field in Property model
       Value = PropertiesModel.propertyz // The actual value of the property z on the model
    }
}

He estado tratando de hacer esto con AutoMapper como:

CreateMap<PropertiesModel, ICollection<IdValue>>()
    .ForMember(x => x,
        y => y.MapFrom(z => new IdValue
        {
            Id = "Property 1",
            Value = z.property1
         }))
    .ForMember(x => x,
        y => y.MapFrom(z => new IdValue
        {
            Id = "Property 2",
            Value = z.property2
         }))
     ...
    .ForMember(x => x,
        y => y.MapFrom(z => new IdValue
        {
            Id = "Property Z",
            Value = z.propertyz
         }))

Pero esto no funciona, ¿es posible hacer el mapeador automático de esta manera? Estoy seguro de que me estoy perdiendo algo aquí. Intente leer la documentación, pero no encontré un ejemplo similar a lo que estoy tratando de hacer.

Un enfoque sería usar ConvertUsing

CreateMap<PropertiesModel, ICollection<IdValue>>()
    .ConvertUsing(obj => obj.GetType()
                        .GetProperties()
                        .Select(prop => new IdValue
                          {
                              Id = prop.Name,
                              Value = (decimal)prop.GetValue(obj)
                          })
                        .ToArray());