diff options
author | Joe Shaw <joeshaw@novell.com> | 2004-10-27 22:35:03 +0000 |
---|---|---|
committer | Joe Shaw <joeshaw@novell.com> | 2004-10-27 22:35:03 +0000 |
commit | d8c8992b407dd575e4f3d70bb6f7512334e660ca (patch) | |
tree | ba38b232a194820f98aa5040b1dcc32f9bd15998 /mono/Arguments.cs | |
parent | 4612de0198e3417ca710be2bd0c27f4445c6766a (diff) |
2004-10-27 Joe Shaw <joeshaw@novell.com>
* mono/Arguments.cs (GetDBusTypeConstructor):
type.UnderlyingSystemType will return "System.Byte" if you do it
on "byte[]", which is not what we want. So check the type.IsArray
property and use System.Array instead.
Diffstat (limited to 'mono/Arguments.cs')
-rw-r--r-- | mono/Arguments.cs | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/mono/Arguments.cs b/mono/Arguments.cs index ca178aea..d78fbff2 100644 --- a/mono/Arguments.cs +++ b/mono/Arguments.cs @@ -161,7 +161,14 @@ namespace DBus // Get the appropriate constructor for a D-BUS type public static ConstructorInfo GetDBusTypeConstructor(Type dbusType, Type type) { - ConstructorInfo constructor = dbusType.GetConstructor(new Type[] {type.UnderlyingSystemType, typeof(Service)}); + Type constructorType; + + if (type.IsArray) + constructorType = typeof (System.Array); + else + constructorType = type.UnderlyingSystemType; + + ConstructorInfo constructor = dbusType.GetConstructor(new Type[] {constructorType, typeof(Service)}); if (constructor == null) throw new ArgumentException("There is no valid constructor for '" + dbusType + "' from type '" + type + "'"); |