我工作的一個簡單的ORM庫,其實也挺簡單的設置一般對象的屬性...反思:使用委託
我有T類型的查詢
public IEnumerable<T> Query<T>(string query)
的方法採用T艙,它得到的屬性,通過他們循環,並將其設置相應
aProperty.SetValue(tmpGenericObjectOfTypeT, newValue, null);
我的問題是,是的SetValue慢得令人難以置信,我看到了兩個備選方案,使用Reflection.Emit的,或者使用代表們,不幸的是我不知道如何去做任何這些。
正如我所讀到的,使用委託更優雅一點,我想這個解決方案,但我真的不知道該怎麼做,我搜索了很多關於如何調用使用代表的方法,但不是如何設置屬性...
除非你已經知道你的財產的名稱代表不會真的幫你。由於您想在運行時執行此操作,因此無法通過Reflection.Emit或使用ExpressionTree進行反射或元編程。既不愉快,但你如果你想要更多的表現,那麼你將不得不硬着頭皮。 – Josh
看起來像散發它。謝謝。如果我讓它們實現一個基類,它是行不通的,所以我知道委託的名字? – gosukiwi