c# - 我如何将我的类的属性发送到函数中

标签 c# .net linq

我有一个函数,我可以在其中发送项目所有类型的所有对象,它应该遍历属性并输出它们的值:

public void ShowMeAll(IEnumerable<object> items);

IEnumerable<Car> _cars = repository.GetAllCars();
ShowMeAll(_cars);

IEnumerable<House> _houses = repository.GetAllHouses();
ShowMeAll(_houses);

好的,举个例子,是这样的。现在,我想将一个属性发送到我的 ShowMeAll 函数中,我想通过它对我的项目进行排序,然后输出。使用函数参数执行此操作的最正确方法是什么?

最佳答案

最简单的方法是让 LINQ 为您完成,通过 the OrderBy() method .例如:

IEnumerable<Car> _cars = repository.GetAllCars();
ShowMeAll(_cars.OrderBy(car => car.Make));

IEnumerable<House> _houses = repository.GetAllHouses();
ShowMeAll(_houses.OrderBy(house => house.SquareFootage));

这样,您就删除了 ShowMeAll 的要求了解传入对象的属性。因为你传递了List<object> ,我认为这是需要的。 :)

关于c# - 我如何将我的类的属性发送到函数中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8569665/

相关文章:

c# - 计算linq中两个数组中相同元素的数量

c# - 这不是冗余代码有什么理由吗?

C# 相当于 cd C :\appFolder c:\app. exe?

c# - EF 4.0 - 加载导航属性的导航属性

c# 在字典中读取行和存储值

.net - 单元测试安全模型 ClickOnce

c# - 如何让 C# 中的应用程序从网站收集数据?

c# - 在 WMI 对象上调用方法时出现 InvalidOperationException

c# - ASP.NET Core 中 AsNoTracking 的模拟或更好的解决方法

c# - 使用 LINQ 编写 case 语句(使用 GROUP BY)