Midhat
Midhat

Reputation: 17840

Passing anonymous typed group to a function

I needed to pass a IGrouping on an anonymously typed index to a function.

 List<DataClass> sampleList = new List<DataClass>();
 var groups = sampleList.GroupBy(item => new { item.A, item.B, item.C }); 

I needed to process each of the groups with a function. So I wrote this which works.

static void ProcessGroup<T>(IGrouping<T, DataClass> group)
        { 
        //consume group

        }

Now I need to know why this works and Is it the right way to do pass around this kind of data. I just wrote it on a hunch that this might work.

Upvotes: 3

Views: 2782

Answers (1)

Eric Lippert
Eric Lippert

Reputation: 660493

I need to know why this works

It works because that is a legal C# program as described by the C# specification. Specifically, section 7.5.2 of the C# 4 spec.

is it the right way to pass around this kind of data?

Looks fine to me.

Upvotes: 6

Related Questions