Я пытаюсь использовать Список объектов <> объектов моего пользовательского класса в качестве источника для ListBox. Проблема заключается в том, что вместо строк, отображаемых как элемент в моем ListBox, вся строка разбита, а отдельные символы превращаются в элементы ListBox. Ниже приведен мой класс и репликация на ListBox. Я храню список в другом классе.Использование списка <> as BindingSource в C#
Что я делаю неправильно? Или, может быть, существует лучший способ привязки ListBox к списку <>?
Листинг 1 - репликация
BindingSource bds1 = new BindingSource(_newProspectiveCustomer.PhoneNumbers, "PhoneNumber");
phonesListBox.BeginUpdate();
phonesListBox.DataSource = bds1;
phonesListBox.EndUpdate();
Листинг 2 - класс
public class PCPhone : IEnumerable<string>
{
public string Dma { get; set; }
public IEnumerator<string> GetEnumerator()
{
yield return Dma;
yield return PhoneNumber;
yield return IndexOrder.ToString();
yield return Type.ToString();
}
System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
{
return this.GetEnumerator();
}
private string _phoneNumber,
_type,
_notes;
private int _indexOrder;
public event EventHandler PhoneChanged;
public string PhoneNumber
{
get
{
return _phoneNumber;
}
set
{
_phoneNumber = value;
CleanPhoneString();
}
}
public string Type
{
get
{
return _type;
}
set
{
_type = value;
}
}
public string Notes
{
get
{
return _notes;
}
set
{
_notes = value;
}
}
public int IndexOrder
{
get
{
return _indexOrder;
}
set
{
_indexOrder = value;
}
}
private void CleanPhoneString()
{
if(_phoneNumber.IndexOf("(") > -1)
_phoneNumber = _phoneNumber.Remove('(');
if(_phoneNumber.IndexOf(")") > -1)
_phoneNumber = _phoneNumber.Remove(')');
if(_phoneNumber.IndexOf(" ") > -1)
_phoneNumber = _phoneNumber.Remove(' ');
if(_phoneNumber.IndexOf("-") > -1)
_phoneNumber = _phoneNumber.Remove('-');
}
public PCPhone(string t, int i, string num)
{
_type = t;
_indexOrder = i;
_phoneNumber = num;
CleanPhoneString();
}
}
Какой тип '_newProspectiveCustomer.PhoneNumbers'? a 'Список'? так что такое определение «PhoneNumber»? –
Около 90% кода в вашем примере не имеет значения, и вам не хватает важных частей, как указывает @KingKing. http://sscce.org/ –