1
我有了幾個屬性的一類情況:顯示名稱打印在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); }
}
}
,我有一個反射功能,將比較同一類的兩個對象,並打印出不同的特性。
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"
。
你能解釋我如何才能使它工作嗎?
嗨,它沒有爲我工作,沒有DisplayName。任何其他想法?謝謝 – jprbest
試試這個[link](http://alandjackson.wordpress.com/2011/01/06/c-display-name-from-property-using-reflection/) –
感謝這次它的工作 – jprbest