gpt4 book ai didi

c# - 在泛型类中使用匿名类型

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

我有以下带有添加映射器的类

public class OrderMapper<T> {
public OrderMapper<T> Add<TKey>(Expression<Func<T, TKey>> expression, String name) {
}
}

我使用如下:

OrderMapper<Post> mapper = new OrderMapper<Post>().Add(x => x.Created, "created");

问题是有时我会遇到以下情况:

posts.SelectMany(x => x.Category, (Post, Category) => new { Post, Category });

返回匿名类型列表:

var objects = new { Post post, Category category }

我不确定如何创建这种类型的 OrderMapper ...

我想也许我需要将我的类方法更改为如下扩展:

OrderMapper mapper = objects.Add(...).Add(...)

有人能告诉我最好的方法吗?

最佳答案

您可以为 OrderMapper 类使用 Create 方法:

public class OrderMapper
{
public static OrderMapper<T> CreateMapperFor<T>(IEnumerable<T> typeProvider)
{
return new OrderMapper<T>();
}
}

并且,这样使用它:

var objects = Enumerable.Repeat(new { /* ... */ }, 1);
var mapper = OrderMapper.CreateMapperFor(objects)
.Add(/*...*/)
.Add(/*...*/);

关于c# - 在泛型类中使用匿名类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37732477/

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