using System; public class Test { class Base { } class Derived : Base { public string X {get;set;} } public static void Main() { Func original = d => d.X; Func converted = b => original((Derived)b); Base obj = new Derived {X = "hello"}; Console.WriteLine(converted(obj)); } }