private static void ProcessAttributeAsSignalFunction( SignalFunction sf, string name, ListViewItem lvi ) { if (sf != null) { foreach (PropertyInfo pi in sf.GetType().GetProperties()) { object value = pi.GetValue( sf, null ); if (value != null) { if (IsStringArray( pi )) { foreach (string s in ( (string[]) value )) TestItemColor( s, name, pi, lvi ); } else { TestItemColor( value.ToString(), name, pi, lvi ); } } else if (name.Equals( pi.Name )) { lvi.BackColor = RELATED_COLOR; } } } }