具有特定类型列表的扩展方法
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 编写的,因为 IList<T> 不继承 IList,您需要在扩展方法中指定类型参数:
public static class Extensions
{
public static void Bind<T>(this IList<T> list)
{
//some stuff
}
}
我想创建一个扩展方法来绑定一个列表,但是出现了这个错误。
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
public static class Extensions
{
public static void Bind<T>(this IList<T> list)
{
//some stuff
}
}