public object get_Value(int index) { var name = Convert.ToString(index); var result = PropertySetUtils.HasProperty(ValueSet, name) ? ValueSet.GetProperty(name) : null; var uidResult = result as IUID; if (uidResult != null) { // This is how ArcObjects behaves: return(uidResult.Value as string); } return(result); }