Should I even explain why this is an incorrect question? (Please see my comment to the question.)
Types do not have "advantages" or "disadvantages", they do or do not fit certain purposes. The identifier
Func
is not a type; this is a set of different but similar generic types. Please see:
http://msdn.microsoft.com/en-us/library/system.aspx[
^].
See also
Action
generic delegates on the same page. The help pages on two simplest generic types
Func
and two simplest generic types
Action
contain well annotated code samples.
Browse to their definitions or see their descriptions to see what is it. The purpose of these type is sheer convenience; few generic delegate signatures which are more likely to be used then others are predefined. Anyone could define those generic or non-generic type where they are required, without any problems or losses.
What you really need is some understanding of how to ask questions. Please see this discussion:
How to ask a good question?[
^].
You are recommended to review some rules:
Code Project Questions and Answers FAQ[
^]
How to Use Google and Other Tips for Finding Programming Help[
^]
Some guidelines for posting questions in the forums[
^].
Good luck,
—SA