System.Windows.Forms.Util.GetPropertyValue C# (CSharp) Method

GetPropertyValue() public static method

public static GetPropertyValue ( object inObject, string propertyName ) : object
inObject object
propertyName string
return object
		public static object GetPropertyValue (object inObject, string propertyName)
		{
			PropertyInfo[] props = inObject.GetType ().GetProperties ();
			PropertyInfo prop = props.Select (p => p).Where (p => p.Name == propertyName).FirstOrDefault ();
			if (prop != null)
				return prop.GetValue (inObject, null).ToString ();
			return null;
		}

Usage Example

            public object GetSelectedValue(NSComboBox comboBox)
            {
                var    DisplayMember = cbox.DisplayMember;
                var    ValueMember   = cbox.ValueMember;
                object l             = cbox.Items[comboBox.SelectedIndex];

                if (!string.IsNullOrEmpty(DisplayMember))
                {
                    //Use Display Property if they didnt set ValueMember
                    var valueMember = string.IsNullOrEmpty(ValueMember) ? DisplayMember : ValueMember;
                    return(Util.GetPropertyValue(l, valueMember));
                }


                else
                {
                    return(l.ToString());
                }
            }