diff --git a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/ArrayReturnType.cs b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/ArrayReturnType.cs index 6d611abb47..4ebf944fd2 100644 --- a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/ArrayReturnType.cs +++ b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/ArrayReturnType.cs @@ -122,13 +122,16 @@ namespace ICSharpCode.SharpDevelop.Dom public override List GetProperties() { List l = base.GetProperties(); - ArrayIndexer property = new ArrayIndexer(elementType, this.BaseType.GetUnderlyingClass()); - IReturnType int32 = pc.SystemTypes.Int32; - for (int i = 0; i < dimensions; ++i) { - property.Parameters.Add(new DefaultParameter("index", int32, DomRegion.Empty)); + IClass systemArray = this.BaseType.GetUnderlyingClass(); + if (systemArray != null) { + ArrayIndexer property = new ArrayIndexer(elementType, systemArray); + IReturnType int32 = pc.SystemTypes.Int32; + for (int i = 0; i < dimensions; ++i) { + property.Parameters.Add(new DefaultParameter("index", int32, DomRegion.Empty)); + } + property.Freeze(); + l.Add(property); } - property.Freeze(); - l.Add(property); return l; }