想要向类添加新属性,我可以使用匿名函数吗?

发布于 2024-09-02 09:29:30 字数 373 浏览 5 评论 0原文

我有 2 个列表:

List<User>
List<UserStats>

所以我想向 User 添加一个属性 Count (它现在没有,目前我无法更改实现)。

对于返回 json 的 Web 服务调用,我想修改 User 对象。

基本上我将用户添加到集合中。所以我想在将其序列化为 json 之前将修改后的用户类(通过匿名函数?)添加到集合中。

比如:

loop users {
   user.Count = userstats[user.ID].Count;

   list.Add(user);
}

这可能吗?如何?

I have 2 Lists:

List<User>
List<UserStats>

So I want to add a property Count to User (it doesn't have one now, and I can't change the implementation at this point).

For a web service call, that returns json, I want to modify the User object.

Basically I add the Users to a collection. So I want to add a modified user class (via anonymous functions?) to the collection before I serialize it to json.

So something like:

loop users {
   user.Count = userstats[user.ID].Count;

   list.Add(user);
}

is this possible? how?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

回眸一遍 2024-09-09 09:29:30

是的,您可以为此使用匿名类型:

users.ConvertAll(u => new {
    u.NormalProperty, // repeat for properties you want
    Count = userstats[user.ID].Count
});

您可以通过 LINQ 连接来实现相同的目的,选择匿名类型。

Yes, you can use anonymous types for this:

users.ConvertAll(u => new {
    u.NormalProperty, // repeat for properties you want
    Count = userstats[user.ID].Count
});

You can probably achieve the same with a LINQ join, selecting out the anonymous type.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文