How can I write a generic anonymous method?

anonymous-function, c#, generics

Solution

Nope, sorry. That would require generic fields or generic properties, which are not features that C# supports. The best you can do is make a generic method that introduces T:

public Func<IList<T>, T> SelectionMethod<T>() { return list => list.First(); }

And now you can say:

Func<IList<int>, int> selectInts = SelectionMethod<int>();

Problem

Specifically, I want to write this: ``` public Func<IList<T>, T> SelectElement = list => list.First(); ``` But I get a syntax error at `T`. Can't I have a generic anonymous method?

Original source