From da8bb04c3a809b4d99b8120ea13bc58d9b7d9bba Mon Sep 17 00:00:00 2001 From: Siegfried Pammer Date: Fri, 11 May 2012 17:06:44 +0200 Subject: [PATCH] fix problems with inherited members in Windows Forms DesignerGenerator - http://community.sharpdevelop.net/forums/t/15800.aspx --- .../Src/DesignerGenerator/AbstractDesignerGenerator.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/AbstractDesignerGenerator.cs b/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/AbstractDesignerGenerator.cs index cda90f1c2e..9a9c4214f8 100644 --- a/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/AbstractDesignerGenerator.cs +++ b/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/AbstractDesignerGenerator.cs @@ -344,8 +344,11 @@ namespace ICSharpCode.FormsDesigner continue; if (expr.TargetType.BaseType != "System.ComponentModel.ISupportInitialize") continue; - CodeMemberField field = formClass.Members.OfType().First(f => this.formClass.ProjectContent.Language.NameComparer.Equals(fieldRef.FieldName, f.Name)); - IClass fieldType = this.formClass.ProjectContent.GetClass(field.Type.BaseType, 0); + IField field = this.formClass.DefaultReturnType.GetFields() + .First(f => this.formClass.ProjectContent.Language.NameComparer.Equals(fieldRef.FieldName, f.Name)); + if (field.ReturnType == null) + continue; + IClass fieldType = field.ReturnType.GetUnderlyingClass(); if (fieldType == null) continue; if (!fieldType.IsTypeInInheritanceTree(iSupportInitializeInterface))