【发布时间】:2016-02-11 14:10:04
【问题描述】:
我有一个 ListViewItem 扩展方法 包装器,它通过索引(硬编码)获取相关的 SubItem 引用,我想知道是否有办法通过不硬编码来获取它索引号。
public class ListViewExtensionsLogic : IListViewExtensionsLogic
{
public ListViewItem.ListViewSubItem GetUserIdSubitem(ListViewItem lvi)
{
return lvi.SubItems[1]; // I want to get it by not hard-coding it
}
}
public static class ListViewExtensionMethods
{
private static IListViewExtensionsLogic _listviewExtensionsLogic;
static ListViewExtensionMethods()
{
var builder = new ContainerBuilder();
builder.RegisterType<ListViewExtensionsLogic>().As<IListViewExtensionsLogic>();
var container = builder.Build();
container.BeginLifetimeScope();
_listviewExtensionsLogic = container.Resolve<IListViewExtensionsLogic>();
}
public static ListViewItem.ListViewSubItem GetUserIdSubItem(this ListViewItem lvi)
{
return _listviewExtensionsLogic.GetUserIdSubitem(lvi);
}
}
这样使用:
private void InitializeFollowers()
{
if (lvFollowList.Items.Count > 0)
{
foreach (ListViewItem lvi in lvFollowList.Items)
{
if (!String.IsNullOrEmpty(lvi.GetUserIdSubItem().Text))
{
// Do something here
}
}
}
}
【问题讨论】:
标签: c# winforms listview listviewitem