gpt4 book ai didi

c# - 泛型 C# 如何通过参数传递泛型对象的属性

转载 作者:太空宇宙 更新时间:2023-11-03 21:22:29 25 4
gpt4 key购买 nike

我已经创建了这个方法,但是它有一个问题我无法解决。

如何通过参数传递谓词?因为“x.IsActive”、“source.Id”和“x.Id”各不相同,通常我将通过参数传递的所有对象都具有 IsActive 和 Id 属性。

 public static Differences<T> CheckChanges<T>(List<T> sourceTable, List<T> destinationTable)
{
var differences = new Differences<T>();

foreach (var sourceItem in sourceTable.Where(x => x.IsActive))
{
var destinationItem = destinationTable.FirstOrDefault(x => x.Id == sourceItem.Id);
}

return differences;
}

最佳答案

如果您可以使所有对象都继承自一个公共(public)接口(interface),这会容易得多:

public interface IAccount
{
int Id { get; set; }
bool IsActive { get; set; }
}

你的方法签名看起来更像这样:

public static Differences<IAccount> CheckChanges(List<IAccount> sourceTable, List<IAccount> destinationTable)

关于c# - 泛型 C# 如何通过参数传递泛型对象的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29812570/

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