private CSharpSyntaxGeneratorResult GenerateDataInterface( DataTypeDescriptor descriptor) { InterfaceDeclarationSyntax interfaceDeclaration = InterfaceDeclaration(descriptor.RuntimeType.Name) .AddModifiers( Token(SyntaxKind.PublicKeyword), Token(SyntaxKind.PartialKeyword)) .AddGeneratedAttribute() .AddSummary(descriptor.Documentation) .AddImplements(descriptor.Implements); interfaceDeclaration = interfaceDeclaration.AddTypeProperty(); ForEachProperty( descriptor, p => interfaceDeclaration = interfaceDeclaration.AddStateProperty(p)); return(new( descriptor.RuntimeType.Name, State, descriptor.RuntimeType.NamespaceWithoutGlobal, interfaceDeclaration)); }