public override void VisitClassType <TAttributeGroup, TGenericParameter, TClassReference, TInterfaceReference, TEventCollection, TPropertyCollection, TIndexerCollection, TMethodCollection, TFieldCollection, TConstructor, TOperatorOverload, TConversionOperator, TNestedClassCollection, TNestedDelegate, TNestedEnum, TNestedInterface, TNestedStructCollection, TStaticConstructor, TDestructor>( IClassType <TAttributeGroup, TGenericParameter, TClassReference, TInterfaceReference, TEventCollection, TPropertyCollection, TIndexerCollection, TMethodCollection, TFieldCollection, TConstructor, TOperatorOverload, TConversionOperator, TNestedClassCollection, TNestedDelegate, TNestedEnum, TNestedInterface, TNestedStructCollection, TStaticConstructor, TDestructor> @class) { ClassBody properties; ObjectInitializerExpression expression = CreateExpression(typeof(ClassBody)); expression.Members.AddIfNotNull(nameof(properties.Fields), @class.Fields); expression.Members.AddIfNotNull(nameof(properties.Events), @class.Events); expression.Members.AddIfNotNull(nameof(properties.Properties), @class.Properties); expression.Members.AddIfNotNull( nameof(properties.ExplicitInterfaceProperties), WrapperFactory.CreateClassPropertyCollectionWrapper(@class.Properties).ExplicitInterfaceProperties); expression.Members.AddIfNotNull(nameof(properties.Indexers), @class.Indexers); // expression.Members.AddIfNotNull(nameof(properties.Methods), @class.Methods); UseExpression(expression); }