C# Unidad o espacio de nombres ‘‘ ya contiene una definición para
– UnityAssets3Free
– 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