/// <summary> /// Преобразование типа SpainRegion в строку для отображения значения в поле PropertyGrid /// </summary> /// <param name="context"></param> /// <param name="culture"></param> /// <param name="value"></param> /// <param name="destinationType"></param> /// <returns></returns> public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType) { if (destinationType != typeof(string) || !(value is SpainRegion)) { return(base.ConvertTo(context, culture, value, destinationType)); } SpainRegion item = (SpainRegion)value; return(item.Name); }
/// <summary> /// Преобразование строкового представления должности в тип SpainRegion. /// Недостаток данного преобразования - правильность работы приведения типа зависит от формата /// строкового представления типа SpainRegion, а именно, от дублирующихся значений. /// </summary> /// <param name="context"></param> /// <param name="culture"></param> /// <param name="value"></param> /// <returns></returns> public override object ConvertFrom(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value) { if (value.GetType() == typeof(string)) { SpainRegion itemSelected = GetCollection(context).Count.Equals(0) ? new SpainRegion() : GetCollection(context)[0]; foreach (SpainRegion Item in GetCollection(context)) { string sCraftName = Item.Name; if (sCraftName.Equals((string)value)) { itemSelected = Item; } } return(itemSelected); } else { return(base.ConvertFrom(context, culture, value)); } }
public void Remove(SpainRegion item) { List.Remove(item); }
public void Add(SpainRegion item) { List.Add(item); }