gpt4 book ai didi

C# 访问通用对象的属性

转载 作者:太空狗 更新时间:2023-10-29 17:48:53 25 4
gpt4 key购买 nike

我有一个方法可以计算每个供应商、客户和制造商拥有的联系人数量(这是一个试图让解释更容易的场景!)

模型都是由 Linq to SQL 类创建的。每个供应商、客户和制造商可能有一个或多个联系人

public int CountContacts<TModel>(TModel entity) where TModel : class
{
return entity.Contacts.Count();
}

以上当然是行不通的,因为“实体”是通用的,不知道它是否具有属性“联系人”。有人可以帮助实现这一目标吗?

最佳答案

一种简单的方法是将接口(interface)附加到在泛型中实现的类。

public int CountContacts<TModel>(TModel entity) where TModel : IContacts


interface IContacts
{
IList<Contact> Contacts {get;} //list,Ilist,ienumerable
}

关于C# 访问通用对象的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2882756/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com