C# 用C语言打印DisplayName#
我的类状态有几个属性:C# 用C语言打印DisplayName#,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"), D
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); }
}
}
我有一个反射函数,它将比较同一类的两个对象,并打印不同的属性
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();
}
当我得到结果时,我会得到属性的名称,比如“PwrdBpy10=value”
;相反,我希望打印displayName
:“Power=value”
你能解释一下我怎样才能让它工作吗