Classes mesmo nome em namespaces diferentes

Comecei a desenvolver meus projetos em tlpp e criei uma classe em um namespace. Em outro projeto eu criei uma classe com o mesmo nome, porém em namespace diferente. Porém, quando compilo a segunda classe ela substitui a primeira no repositório.

Entendo que isso deveria ser permitido, pois caso contrário o uso do namespace não faria sentido.

Alguém já passou por esse problema?

Testei dessa forma e não passou:

#include "msobject.ch"

namespace Teste01

class TestandoNameSpace
    public method new()
    public method teste()
endclass

method new() class TestandoNameSpace
return self

method teste() class TestandoNameSpace
return "Teste01"
#include "msobject.ch"

namespace Teste02

class TestandoNameSpace
    public method new()
    public method teste()
endclass

method new() class TestandoNameSpace
return self

method teste() class TestandoNameSpace
return "Teste02"
user function tstnamespace()
    local oObj1 as object
    local oObj2 as object

    oObj1 := Teste01.TestandoNameSpace():New()
    MsgInfo(oObj1:teste())

    oObj2 := Teste02.TestandoNameSpace():New()
    MsgInfo(oObj2:teste())

return nil

invalid class TESTE01.TESTANDONAMESPACE on U_TSTNAMESPACE(TSTNAMESPACE.TLPP) 28/01/2020 08:44:44 line : 5

compartilhar
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do TOTVS DevForum!

3 respostas

Não é a resposta que estava procurando? Procure outras perguntas com as tags tlpp namespace ou faça a sua própria pergunta.