Здравствуйте, J-Pro, Вы писали:
JP>Всем добрый день!
JP>Столкнулся с проблемой, не могу понять в чём дело.
JP>Имеется такая структура:
JP>JP>public interface IMyBaseClass
JP>{
JP>}
JP>public class MyBaseClass : IMyBaseClass
JP>{
JP> protected DataRow dataRow = null;
JP> public MyBaseClass() { }
JP> public MyBaseClass(DataRow dr)
JP> {
JP> this.dataRow = dr;
JP> }
JP> protected T GetFieldValue<T>(String fieldName)
JP> {
JP> ...
JP> }
JP> protected void SetFieldValue<T>(String fieldName, T val)
JP> {
JP> ...
JP> }
JP>}
JP>public class MyClass : MyBaseClass
JP>{
JP> public string Note1
JP> {
JP> get { return GetFieldValue<string>(COLNAME_NOTE1); }
JP> set { SetFieldValue<string>(COLNAME_NOTE1, value); }
JP> }
JP> public override String ToString()
JP> {
JP> return Note1;
JP> }
JP>}
JP>
JP>Далее: где-то есть метод, который возвращает мне List<MyClass> myClassList. Так же есть у меня ComboBox: cBox. Что я делаю:
JP>JP>cBox.DataSource = myClassList;
JP>
JP>В этот момент вызывается хэндлер cBox_SelectedIndexChanged, НО при этом cBox.SelectedIndex равен -1. При том, что список элементов приходит нормальный(3 элемента, нормально инициализированных).
JP>Я решил, что это может быть потому, что у меня не переопределён метод int GetHashCode() в MyClass, но и это не помогло(я возвращал там "ToString().GetHashCode();").
JP>Посоветуйте, что делать, пожалуйста. Я чувствую что чего-то не хватает, но чего?
JP>Спасибо заранее!
Ну вот, так всегда бывает. Трахаешься целый день, не находишь решения, потом тратишь минут 10 на описание проблемы в форуме, постишь и через полчаса сам находишь проблему

Так и тут. В общем, свойство Note1 всегда было null. Неверное поле брал я из DataRow, вот и всё. Элемент не мог отобразиться, вот вам и -1 в SelectedIndex.
Всем спасибо!