• Jon Skeet's avatar
    Implement reflection properly for fields. · 78ea98f5
    Jon Skeet authored
    - FieldAccessorTable is now non-generic
    - We don't have a static field per message type in the umbrella class. (Message descriptors are accessed via the file descriptor.)
    - Removed the "descriptor assigner" complication from the descriptor fixup; without extensions, we don't need it
    - MapField implements IDictionary (more tests would be good...)
    - RepeatedField implements IList (more tests would be good)
    - Use expression trees to build accessors. (Will need to test this on various platforms... probably need a fallback strategy just using reflection directly.)
    - Added FieldDescriptor.IsMap
    - Added tests for reflection with generated messages
    
    Changes to generated code coming in next commit.
    78ea98f5
FieldAccessorBase.cs 2.84 KB