diff options
author | Jon Skeet <skeet@pobox.com> | 2008-10-22 07:11:17 +0100 |
---|---|---|
committer | Jon Skeet <skeet@pobox.com> | 2008-10-22 07:11:17 +0100 |
commit | e60ce8bfafca616ed4fd430ae4f82360de165e80 (patch) | |
tree | cb1a82655772f4995c02debb31cfeb208960acf1 /csharp/ProtocolBuffers/FieldAccess/SinglePrimitiveAccessor.cs | |
parent | 7f90d8ee57d4af4215bc31dbb07726c023c5e047 (diff) | |
download | protobuf-e60ce8bfafca616ed4fd430ae4f82360de165e80.tar.gz protobuf-e60ce8bfafca616ed4fd430ae4f82360de165e80.tar.bz2 protobuf-e60ce8bfafca616ed4fd430ae4f82360de165e80.zip |
Final commit before changing layout
Diffstat (limited to 'csharp/ProtocolBuffers/FieldAccess/SinglePrimitiveAccessor.cs')
-rw-r--r-- | csharp/ProtocolBuffers/FieldAccess/SinglePrimitiveAccessor.cs | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/csharp/ProtocolBuffers/FieldAccess/SinglePrimitiveAccessor.cs b/csharp/ProtocolBuffers/FieldAccess/SinglePrimitiveAccessor.cs index ad9e1659..c10936d4 100644 --- a/csharp/ProtocolBuffers/FieldAccess/SinglePrimitiveAccessor.cs +++ b/csharp/ProtocolBuffers/FieldAccess/SinglePrimitiveAccessor.cs @@ -39,10 +39,13 @@ namespace Google.ProtocolBuffers.FieldAccess { } internal SinglePrimitiveAccessor(string name) { - PropertyInfo messageProperty = typeof(TMessage).GetProperty(name); - PropertyInfo builderProperty = typeof(TBuilder).GetProperty(name); + + string propertyName = name == typeof(TMessage).Name ? name + "_" : name; + PropertyInfo messageProperty = typeof(TMessage).GetProperty(propertyName); + PropertyInfo builderProperty = typeof(TBuilder).GetProperty(name); // FIXME! + if (builderProperty == null) builderProperty = typeof(TBuilder).GetProperty(propertyName); // FIXME! PropertyInfo hasProperty = typeof(TMessage).GetProperty("Has" + name); - MethodInfo clearMethod = typeof(TBuilder).GetMethod("Clear" + name); + MethodInfo clearMethod = typeof(TBuilder).GetMethod("Clear" + name, Type.EmptyTypes); if (messageProperty == null || builderProperty == null || hasProperty == null || clearMethod == null) { throw new ArgumentException("Not all required properties/methods available"); } |