Jim*_*mbo 9 c# generics types properties
我有一个方法可以计算每个供应商,客户和制造商的联系人数量(这是一个尝试使解释更容易的方案!)
这些模型都是由Linq到SQL类创建的.每个供应商,客户和制造商可能有一个或多个联系人
public int CountContacts<TModel>(TModel entity) where TModel : class
{
return entity.Contacts.Count();
}
Run Code Online (Sandbox Code Playgroud)
上面当然不起作用,因为'实体'是通用的,并且不知道它是否具有"联系人"属性.有人可以帮忙解决这个问题吗?
一种简单的方法是将接口附加到通用中实现的类.
public int CountContacts<TModel>(TModel entity) where TModel : IContacts
interface IContacts
{
IList<Contact> Contacts {get;} //list,Ilist,ienumerable
}
Run Code Online (Sandbox Code Playgroud)