diff options
author | csharptest <roger@csharptest.net> | 2012-10-10 19:20:44 -0500 |
---|---|---|
committer | rogerk <devnull@localhost> | 2012-10-10 19:20:44 -0500 |
commit | 3cf3315370c3aff09353bb0bf3808d67c9e92eda (patch) | |
tree | 60ce315605cfac85d910e7fbfb6e4670282c9399 | |
parent | 0e152e438622b4faa34a8eb50369f3bc51986eac (diff) | |
download | protobuf-3cf3315370c3aff09353bb0bf3808d67c9e92eda.tar.gz protobuf-3cf3315370c3aff09353bb0bf3808d67c9e92eda.tar.bz2 protobuf-3cf3315370c3aff09353bb0bf3808d67c9e92eda.zip |
Fix for GetProperty(string, Type[]) incompatible with Silverlight
-rw-r--r-- | src/ProtocolBuffers/FieldAccess/RepeatedPrimitiveAccessor.cs | 6 | ||||
-rw-r--r-- | src/ProtocolBuffers/FieldAccess/SinglePrimitiveAccessor.cs | 12 |
2 files changed, 7 insertions, 11 deletions
diff --git a/src/ProtocolBuffers/FieldAccess/RepeatedPrimitiveAccessor.cs b/src/ProtocolBuffers/FieldAccess/RepeatedPrimitiveAccessor.cs index 612e4919..fd2c72b1 100644 --- a/src/ProtocolBuffers/FieldAccess/RepeatedPrimitiveAccessor.cs +++ b/src/ProtocolBuffers/FieldAccess/RepeatedPrimitiveAccessor.cs @@ -66,9 +66,9 @@ namespace Google.ProtocolBuffers.FieldAccess internal RepeatedPrimitiveAccessor(string name)
{
- PropertyInfo messageProperty = typeof(TMessage).GetProperty(name + "List", ReflectionUtil.EmptyTypes);
- PropertyInfo builderProperty = typeof(TBuilder).GetProperty(name + "List", ReflectionUtil.EmptyTypes);
- PropertyInfo countProperty = typeof(TMessage).GetProperty(name + "Count", ReflectionUtil.EmptyTypes);
+ PropertyInfo messageProperty = typeof(TMessage).GetProperty(name + "List");
+ PropertyInfo builderProperty = typeof(TBuilder).GetProperty(name + "List");
+ PropertyInfo countProperty = typeof(TMessage).GetProperty(name + "Count");
MethodInfo clearMethod = typeof(TBuilder).GetMethod("Clear" + name, EmptyTypes);
getElementMethod = typeof(TMessage).GetMethod("Get" + name, new Type[] {typeof(int)});
clrType = getElementMethod.ReturnType;
diff --git a/src/ProtocolBuffers/FieldAccess/SinglePrimitiveAccessor.cs b/src/ProtocolBuffers/FieldAccess/SinglePrimitiveAccessor.cs index 088b93fc..7d20ea75 100644 --- a/src/ProtocolBuffers/FieldAccess/SinglePrimitiveAccessor.cs +++ b/src/ProtocolBuffers/FieldAccess/SinglePrimitiveAccessor.cs @@ -58,14 +58,10 @@ namespace Google.ProtocolBuffers.FieldAccess internal SinglePrimitiveAccessor(string name)
{
- PropertyInfo messageProperty = typeof(TMessage).GetProperty(name, ReflectionUtil.EmptyTypes);
- PropertyInfo builderProperty = typeof(TBuilder).GetProperty(name, ReflectionUtil.EmptyTypes);
- if (builderProperty == null)
- {
- builderProperty = typeof(TBuilder).GetProperty(name, ReflectionUtil.EmptyTypes);
- }
- PropertyInfo hasProperty = typeof(TMessage).GetProperty("Has" + name, ReflectionUtil.EmptyTypes);
- MethodInfo clearMethod = typeof(TBuilder).GetMethod("Clear" + name, ReflectionUtil.EmptyTypes);
+ PropertyInfo messageProperty = typeof(TMessage).GetProperty(name, null, ReflectionUtil.EmptyTypes);
+ PropertyInfo builderProperty = typeof(TBuilder).GetProperty(name, null, ReflectionUtil.EmptyTypes);
+ PropertyInfo hasProperty = typeof(TMessage).GetProperty("Has" + name);
+ MethodInfo clearMethod = typeof(TBuilder).GetMethod("Clear" + name);
if (messageProperty == null || builderProperty == null || hasProperty == null || clearMethod == null)
{
throw new ArgumentException("Not all required properties/methods available");
|