private static HashSet<MethodInfo> GetEmbedMethods() { var embeds = new LambdaExpression[] { (Expression<Func<object>>) (() => ExpressionBuilder.Embed<object>(null)), (Expression<Func<object>>) (() => ExpressionBuilder.Embed<object, object>(null, null)), (Expression<Func<object>>) (() => ExpressionBuilder.Embed<object, object, object>(null, null, null)), (Expression<Func<object>>) (() => ExpressionBuilder.Embed<object, object, object, object>(null, null, null, null)), (Expression<Func<object>>) (() => ExpressionBuilder.Embed<object, object, object, object, object>(null, null, null, null, null)), }; return new HashSet<MethodInfo>(embeds.Select(e => ((MethodCallExpression) e.Body).Method.GetGenericMethodDefinition())); }