小编jho*_*nly的帖子

根据属性名称数组创建对象的子集

我有一个类和一组属性名称定义如下:

public class Dog {
    public string Name { get; set; }
    public string Breed { get; set; }
    public int Age { get; set; }
}

var desiredProperties = new [] {"Name", "Breed"};
Run Code Online (Sandbox Code Playgroud)

我还有一个返回dog对象列表的方法:

List<Dog> dogs = GetAllDogs();
Run Code Online (Sandbox Code Playgroud)

有没有办法可以返回dogs只包含desiredProperties数组中定义的属性的子集?最终,此结果列表将序列化为JSON.

考虑到允许用户指定任何属性组合(假设它们都是有效的)作为数组中的输出,我一直在努力解决这个问题.更多例子:

var desiredProperties = new [] {"Name", "Age"};
// Sample output, when serialized to JSON:
// [
//   { Name: "Max", Age: 5 },
//   { Name: "Spot", Age: 2 }
// ]

var desiredProperties = …
Run Code Online (Sandbox Code Playgroud)

.net c# linq reflection

6
推荐指数
1
解决办法
1080
查看次数

标签 统计

.net ×1

c# ×1

linq ×1

reflection ×1