gpt4 book ai didi

使用泛型类型的 C# lambda 查询

转载 作者:可可西里 更新时间:2023-11-01 08:03:08 24 4
gpt4 key购买 nike

我有三个类,它们都有一个属性 Date。我想编写一个通用类来返回一个日期的所有记录。现在的问题是:如何使用泛型类型 T 编写 lambda 表达式?

简单的代码如下(我不会编译,因为“r.Date”不会工作,但这是我想要达到的效果)

Class GenericService<T>: IGenericService<T> where T:class
{
...
readonly IGenericRepository<T> _genericRepository;
public IEnumerable<T> GetRecordList(DateTime date)
{
var query=_genericRepository.FindBy(r=>r.Date=date);
}

谢谢你的帮助!

问候,蕾欧娜

最佳答案

编写一个具有 IDate 的接口(interface),您的所有实体都必须实现 IDate 并像这样编写 GenericService :

public class GenericService<T>: IGenericService<T> where T : class, IDate
{
readonly IGenericRepository<T> _genericRepository;
public IEnumerable<T> GetRecordList(DateTime date)
{
var query=_genericRepository.FindBy(r => r.Date = date);
}
}

public interface IDate
{
DateTime Date{ set; get; }
}

public class Entity : IDate
{
DateTime Date { set; get; }
}

关于使用泛型类型的 C# lambda 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37294374/

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