Come creo un albero di espressioni per rappresentare ‘String.Contains (“term”)’ in C #?

Sto solo iniziando con gli alberi di espressione quindi spero che questo abbia un senso. Sto cercando di creare un albero di espressioni per rappresentare:

t => t.SomeProperty.Contains("stringValue"); 

Finora ho avuto:

  private static Expression.Lambda<Func> GetContainsExpression(string propertyName, string propertyValue) { var parameterExp = Expression.Parameter(typeof(T), "type"); var propertyExp = Expression.Property(parameter, propertyName); var containsMethodExp = Expression.*SomeMemberReferenceFunction*("Contains", propertyExp) //this is where I got lost, obviously :) ... return Expression.Lambda<Func>(containsMethodExp, parameterExp); //then something like this } 

Non so come fare riferimento al metodo String.Contains ().

Aiuto apprezzato