Nie jestem zaznajomiony z programem ExecuteStoreQuery, ale istnieje różnica między używaniem dynamicznego słowa kluczowego a obiektem będącym w rzeczywistości Obiektem dynamicznym. Jeśli jest to statyczny obiekt, który jest rzucany jako dynamiczny, odbicie będzie działało dobrze. Jeśli jest to obiekt dynamiczny, odbicie zwróci metody, a nie te, których oczekiwałeś. Zasadniczo obiekt dynamiczny będzie miał jakiś sposób na zapytanie o parametry używane do obsługi implementacji, na przykład rzeczy, które dziedziczą po DynamicObject
często implementują GetDynamicMemberNames
, a następnie mają metody wywoływania dynamicznego, takie jak TryGetMember
. Istnieją bardziej ogólne sposoby wykonywania wiązania dynamicznego po uzyskaniu nazw członków, ale może być nieco przydatne w połączeniu z CallSites DLR i binderami, chociaż istnieją pewne proste metody statyczne, które obejmują wszystkie materiały DLR w ramach kodu źródłowego open source Impromptu-Interface .