public int Id { get; set; }
public string Name { get; set; }
public class Person : Entity
public string SomeOtherShizzle { get; set; }
public static void Main()
var person = new Person { Id = 1, Name = "Steve", SomeOtherShizzle = "hoobydooby" };
var theFunc = DoSomething<Func<Person,bool>, Person>(person);
public static F DoSomething<F,E>(E e)
var thePerson = e as Person;
Func<Person,bool> blah = x => x.Name == "Steve";