コード例 #1
0
        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));
        }