質問: 我有一個商店程序調用,提前返回記錄集,而不知道該字段。出於某些互操作原因,我需要讓它在3.5上工作,所以我沒有任何動態支持。小巧玲瓏有一些內置的解決方案嗎?我自己找不到任何東西。如果沒有這樣的解決方案,那麼動態創建暴露我將獲取的屬性的類型是否有意義(並且它是否有效)? **編輯**我設法通過在c#3.0中創建一個動態對象來添加一個完全外部的解決方案(不調整原始代碼庫)。 這是擴展dapper代碼 ,這裡是動態對象的工廠 。
回答: *實際上* ,dapper中的`dynamic`支持是通過ExpandoObject實現的,它*基本上*只是一個字典。在3.5的情況下,調整現有代碼以返回`IDictionary`而不是`dynamic`將非常簡單