2015-05-03 63 views
0

enter image description here類型具體名單

擴展方法我想創建綁定列表一種推廣方法,但得到這個錯誤。

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>(); 
    } 

} 

回答

3

您的擴展方法是IList的寫不IList的<牛逼>因爲IList<T>不繼承的IList,你需要指定的擴展方法類型參數:

public static class Extensions 
{ 
    public static void Bind<T>(this IList<T> list) 
    { 
     //some stuff 
    } 
}