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 に答える