doc-architect/doc-architect-core/src/main/java/com/docarchitect/core/scanner/impl/dotnet/KafkaScanner.java [204:228]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            String fileContent = readFileContent(csFile);
            String namespace = extractNamespace(fileContent);

            for (DotNetAst.CSharpClass cls : classes) {
                // Build fully qualified class name
                String className;
                if (namespace != null && !namespace.isEmpty()) {
                    className = namespace + "." + cls.name();
                } else if (!cls.namespace().isEmpty()) {
                    className = cls.namespace() + "." + cls.name();
                } else {
                    className = cls.name();
                }

                // Extract consumers from method attributes
                extractConsumersFromAttributes(cls, className, messageFlows);

                // Extract consumers/producers from field/property types (AST properties)
                extractFromProperties(cls, className, messageFlows);

                // Extract from private fields using regex (since AST doesn't capture private fields)
                extractFromFields(fileContent, className, messageFlows);

                // Extract from method calls (ProduceAsync, Consume)
                extractFromMethodCalls(fileContent, className, messageFlows);
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



doc-architect/doc-architect-core/src/main/java/com/docarchitect/core/scanner/impl/dotnet/KafkaScanner.java [344:370]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        String fileContent = readFileContent(csFile);

        // Extract namespace from file content (C# AST parser doesn't capture it reliably)
        String namespace = extractNamespace(fileContent);

        for (DotNetAst.CSharpClass cls : classes) {
            // Build fully qualified class name
            String className;
            if (namespace != null && !namespace.isEmpty()) {
                className = namespace + "." + cls.name();
            } else if (!cls.namespace().isEmpty()) {
                className = cls.namespace() + "." + cls.name();
            } else {
                className = cls.name();
            }

            // Extract consumers from method attributes
            extractConsumersFromAttributes(cls, className, messageFlows);

            // Extract consumers/producers from field/property types (AST properties)
            extractFromProperties(cls, className, messageFlows);

            // Extract from private fields using regex (since AST doesn't capture private fields)
            extractFromFields(fileContent, className, messageFlows);

            // Extract from method calls (ProduceAsync, Consume)
            extractFromMethodCalls(fileContent, className, messageFlows);
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



