diff options
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 + "'");  | 
