[英]extension method with type specific List
我想创建一个扩展方法来绑定一个列表,但出现此错误。
menuItem.Children.Bind();
public static class Extensions
{
public static void Bind(this IList list)
{
//some stuff
}
}
class MenuItemMap : Mapper<MenuItem>
{
public MenuItemMap()
{
Id(x => x.MenuItemId);
Map(x => x.Text);
HasMany(x => x.Children).KeyColumn("ParentId");
References(x => x.Parent);
}
}
public class MenuItem : BaseClass<MenuItem>
{
public virtual int MenuItemId { get; set; }
public virtual string Text { get; set; }
public virtual IList<MenuItem> Children { get; set; }
public virtual MenuItem Parent { get; set; }
public MenuItem()
{
Children = new List<MenuItem>();
}
}
您的扩展方法是为IList而不是IList <T>编写的,并且由于IList <T>不继承IList,因此需要在扩展方法中指定type参数:
public static class Extensions
{
public static void Bind<T>(this IList<T> list)
{
//some stuff
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.