Печать DisplayName на C#

#c#

#c#

Вопрос:

У меня есть статус класса, который имеет несколько свойств:

 Public Class Status 
{
        [DisplayName("Power"), Description("Index 4: transmit power in dBm")]
        public double PwrdBby10
        {
            get { return (_arrayValue[4] / 10.0); }
        }

        [DisplayName("Turbo"), Description("Index 5: transmit turbo size and encoding rate")]
        public string TurboMsgType
        {
            get { return GetEnumString(_arrayValue[5], _elements); }
        }
}
  

и у меня есть функция отражения, которая будет сравнивать 2 объекта одного и того же класса и печатать разные свойства.

  public string Compare(object object1, object object2)
    {
        var source = object1.GetType();
        var propertyNames = source.GetProperties();
        var s = new StringBuilder();

        foreach (var propertyName in propertyNames)
        {
            var propertyValue1 = propertyName.GetValue(object1, null);
            var propertyValue2 = propertyName.GetValue(object2, null);
            if (propertyValue1.ToString() != propertyValue2.ToString())
            {
                if (s.Length > 0)
                    s.Append(", ");
                s.Append(propertyName.Name);
                s.Append("=");
                s.Append(propertyValue2.ToString());
            }
        }
        return s.ToString();
    }
  

Когда я получаю результат, я получаю имя свойства like "PwrdBpy10 = value" ; вместо этого я хочу displayName , чтобы оно было напечатано : "Power = value" .

Можете ли вы объяснить, как я могу заставить его работать?