En este momento estás viendo C# Unidad o espacio de nombres » ya contiene una definición para

 – Unity

C# Unidad o espacio de nombres » ya contiene una definición para – Unity

C# Unidad o espacio de nombres ‘‘ ya contiene una definición para

– UnityAssets3Free

hola , soy juansito y esta vez os traigo
esta pregunta

Estoy estudiando modificadores de acceso y encontré el siguiente error en mi código. ¿Alguien puede explicarme y ayudarme a resolverlo? ActivosPruebasScriptsaccessmodifier.cs(40,7): error CS0101: El espacio de nombres ‘< global namespace >‘ ya contiene una definición para ‘felino’

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class modificadoracesso : MonoBehaviour


    Felino gatoFase1; // criar objeto
    Felino gatoFase2;
    Filha fi;

    // Start is called before the first frame update
    void Start()
    
        gatoFase1 = new Felino (); //objeto
        gatoFase2 = new Felino ();
        fi = new Filha();

        //gatoFase1.nome = "mark";
        gatoFase1.ataque();
        gatoFase1.corPelo = "Preto";
        gatoFase1.forca = 100;

        //gatoFase2.nome = "Zuck";
        gatoFase2.corPelo = "Marrom";
        gatoFase2.ataque();

        fi.acessa();

    

    // Update is called once per frame
    void Update()
    
        
    


class Felino : MonoBehaviour


    //Características = atributos
    //protected trabalha dentro a classe ou dentro de uma classe filha
    protected string nome;
    public string corPelo;
    public int forca;

    //Ações = métodos
    public void ataque()
    
        print("Ataquei");
    



class Filha : Felino

    public void acessa()
    
        nome = "Gato";
    

Busqué algunas respuestas pero hasta ahora nada funciona

3 respuestas 3

A menos que una clase esté en un espacio de nombres, la clase está en el ‘espacio de nombres global’. Agregue un espacio de nombres alrededor de sus clases. No digo que esta sea la respuesta completa, pero no usar espacios de nombres es una mala idea. Los espacios de nombres generalmente comienzan con el nombre de su solución y se colocarán allí automáticamente cuando cree una nueva clase.

Prueba esto:

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

namespace ToDyToScAnO // <-- This is a namespace

  public class modificadoracesso : MonoBehaviour
  

    Felino gatoFase1; // criar objeto
    Felino gatoFase2;
    Filha fi;

    // Start is called before the first frame update
    void Start()
    
        gatoFase1 = new Felino (); //objeto
        gatoFase2 = new Felino ();
        fi = new Filha();

        //gatoFase1.nome = "mark";
        gatoFase1.ataque();
        gatoFase1.corPelo = "Preto";
        gatoFase1.forca = 100;

        //gatoFase2.nome = "Zuck";
        gatoFase2.corPelo = "Marrom";
        gatoFase2.ataque();

        fi.acessa();

    

    // Update is called once per frame
    void Update()
    
        
    


class Felino : MonoBehaviour


    //Características = atributos
    //protected trabalha dentro a classe ou dentro de uma classe filha
    protected string nome;
    public string corPelo;
    public int forca;

    //Ações = métodos
    public void ataque()
    
        print("Ataquei");
    



 class Filha : Felino
 
    public void acessa()
    
        nome = "Gato";
    
 

¡Es solo porque tiene otro script en su proyecto con ese nombre! Tal vez lo duplicaste accidentalmente o algo así.

Esto suele suceder cuando Ud. arrastrar y soltar una hoja de ruta para otra carpeta, mientras su editor de texto todavía tiene el script abierto. Cuando guarde el archivo en el editor de texto, el archivo se vuelve a crear en la ubicación anteriorpor lo que tiene un script duplicado para el script movido.

nota: si aun no se resuelve tu pregunta por favor dejar un comentario y pronto lo podremos de nuevo , muchas gracias

por hoy,hasta la proxima

Deja una respuesta