0

我正在使用表达式。是否有可能有一个通用的返回类型,所以我想返回传递给我的表达式的任何属性类型。

  public PropertyMapping(Expression<Func<TEntity, int>> expression)
    {
        this.expression = expression;

        if (this.expression != null)
        {
            this.expressionMemberName =((MemberExpression)this.expression.Body).Member.Name;
        }
     }

我不想创建 StringPropertyMapping、IntPropertyMapping、DoublePropertyMapping 等......

4

1 回答 1

0

您需要将属性类型的类型参数添加到您的PropertyMapping类中。如果它嵌套在定义TEntity类型参数的类中,它将变为PropertyMapping<TProperty>

public class SomeClass<TEntity>
{
   public class PropertyMapping<TProperty>
   {
      public PropertyMapping(Expression<Func<TEntity, TProperty>> expression)
      {
         ...

如果它是顶级类,它将变为PropertyMapping<TEntity, TProperty>

public class PropertyMapping<TEntity, TProperty>
{
   public PropertyMapping(Expression<Func<TEntity, TProperty>> expression)
   {
      ...
于 2012-11-23T15:28:59.100 回答