0
我期待轉化Expression<Func<TEntity,TKey>
到Expression<Func<TEntity, Object>>
轉換表達<Func鍵<TEntity,TKEY的>,以表達<Func鍵<TEntity,對象>>
作爲一切都是一個對象,我想隱式轉換,如下所示:
var propertyMetadata =
new PropertyMetadata<TEntity>((Expression<Func<TEntity, object>>)expression);
然而,創建一個錯誤:
Cannot Convert Type
Expression<Func<TEntity,TKey>
toExpression<Func<TEntity, Object>>
有沒有一種簡單的方法,以這兩種類型之間的轉換
這包括創建一個全新的表達方式,這是一個有點複雜,如果'TKey'能是一種價值類型。但是如果可能的話,我會說'PropertyMetadata'應該有一個方法來允許從'Expression>'構造。這是你自己的一類嗎?如果是這樣,是否可以修改? –
hvd
@ hvd它不能採用tkey類型,因爲它是可在類型中搜索的屬性的白名單。所以有多種類型的tkey。當我用手寫它時,它會自動在我的表情中創建一個音樂會 –
我明白這一點。但是你可以擁有一個私有的構造函數,通過一個普通的'PropertyMetadata。創建(表達式>表達式)'調用'表達式表達式'。這允許多個屬性類型用於相同的'PropertyMetadata '。 –
hvd