我正在为我的大学的教授更新一些课堂项目。在更新过程中,我将建立一些示例,学生可以根据需要进行学习。但是,在此过程中我遇到了一个小障碍。
最近,我更新了所有重要的类属性,使其具有内部访问修饰符。通过这样做,我用来显示具有“内部属性”的所述类中的属性的ListBox不再显示值,而是显示整个对象路径。
例如,我具有以下类属性:
internal string firstName {get; set;}
通过使用BindingList<Employee>
将数据绑定到列表框,列表框的DisplayMember
类似于“ Path.to.value”。而不是仅显示
如果我将属性切换回公开状态,则此功能可以很好地工作,但是如果将其标记为内部属性,则会引起问题。
员工全名属性定义
internal string fullName { get; set; }
Form1.cs中用于处理所有表单事件的代码实现
BindingList<Employee> bd = new BindingList<Employee>();
lsbx_empList.DataSource = bd;
lsbx_empList.DisplayMember = "fullName";
预期结果是显示“ fullName”属性,但实际结果显示的是fullName属性的对象路径。