This question is based off of the results from another SO question of mine. My new question is not a question of how can I get X to work, but why doesn't X work.

I've created a simplified example of my problem, however if you want to see the practical application/situation I'm using this, look at my original question (the below functions don't actually do anything useful).

T bar&lt;T&gt;(Func&lt;T, bool&gt; f) { return default(T); }
bool foo(int i) { return true; }


Now I have 3 lines of code that do work as expected and all do the same thing purpose wise.

int num;
num = bar&lt;int&gt;(foo);
num = bar(new Func&lt;int, bool&gt;(foo));
num = bar((int i) =&gt; true );


My question is "Why do I need to explicitly specify T for bar for the first example?" The reason I wonder this is because the compiler turns the first two examples into the same line of code. Using ILSpy I see that the code compiles to this.

num = Program.bar&lt;int&gt;(new Func&lt;int, bool&gt;(Program.foo));
num = Program.bar&lt;int&gt;(new Func&lt;int, bool&gt;(Program.foo));
num = Program.bar&lt;int&gt;((int i) =&gt; true);


I don't understand why the compiler can't infer the type from the fact that I only have one function called foo, and it does fit the template so to speak. Now if I had created another function bool foo(bool i) I would understand if the compiler complained that there was some ambiguity and it didn't know which one I wanted and that I should specify the type argument explicitly.

This of course is just me being lazy, but it is just something I was expecting and was surprised when the compiler wasn't picking up my slack.


Question: Is there an app similar to Pandora for movies/television?
Answer: Fancast http://Fancast.com is probably the best option for what you are looking for. Although that's not saying much. Here are a few other options as well:

Jinni: http://www.jinni.com/ was recommended by phwd as well.

Get Glue (as recommended by tsodermann below) does something similar to what you are looking for as well: http://getglue.com

Hulu: http://Hulu.com also offers recommendations after videos are complete.

youTube: As mention by phwd, http://www.youtube.com/disco is a good option if you are looking for more home grown options. 

Netflix offers a suggestion feature based on things that you watch on their service. It takes into account movies and tv shows that you have watched online, as well as rented via their mail service. 

You could sign up for a free account and take the preliminary survey if you really wanted to get a list of suggested videos/shows based on your likes/dislikes. 

IMDB also has a chart of the top movies of all time, sortable by a number of different criteria, including, genre, decade, votes by their users, etc. View the list here: http://www.imdb.com/chart/top

If you are looking for "meme" type videos that you think you will enjoy, you could check out: 

http://www.youshouldhaveseenthis.com/

http://www.todaysbigthing.com/