繁体   English   中英

类型特定的List的扩展方法

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM