Duda con herencia de clases y casteo
Publicado por Mauro (1 intervención) el 19/09/2011 19:55:28
Hola que tal; les cuento mi problema, que me tiene un poco agobiado, porque he buscado a lo largo y ancho de internet.
la cuestion es asi: es un proyecto en VS 2008; plataforma c#.
Consta de tres capas (Presentacion, logica y presistencia) . Para hacer estas capas tengo los siguientes proyectos:
-Proyecto Web (el proyecto en si)
-Entidades Compartidas (Biblioteca de clases). donde tengo las clases basicas; en este caso Usuario; y UsuarioRegistrado.
-Logica. (Biblioteca de clases) Donde tengo la interfaz y la comunicacion para acceder a persistencia.
-Persistencia. (Biblioteca de clases) Donde la interfaz y la comunicacion para acceder a la BD.
Hice unos procedimientos que son VerificarUsuario; buscarUsuario; y AgregarUsuario.
En un principio andaban todos, pero yo quiero que ademas de usuarios registrados pueda agregar otros tipos de usuarios (empleados, por ejemplo)
Cuando agregé esta posibilidad; no compilo nunca mas. El error que me salta es el siguiente:
Error 1 'UsuarioRegistrado' no contiene una definición de 'NombreUsuario' ni se encontró ningún método de extensión 'NombreUsuario' que acepte un primer argumento de tipo 'UsuarioRegistrado' (¿falta una directiva using o una referencia de ensamblado?) C:\Documents and Settings\mauro\Escritorio\PROYECTO NINA\WEB\CAmbiado\WebNina\AddUsuario.aspx.cs 105 20 C:\...\WebNina\
Este error me salta cuando en el Form AgregarUsuario les asigno a los atributos del objeto las variables locales; esto es:
try
{
UsuarioRegistrado Ur = new UsuarioRegistrado();
Ur.NombreUsuario = _NombreUsuario;
Ur.Password = _password;
Ur.Habilitado = _habilitado;
Ur.Nombre = _nombre;
Ur.Apellido = _apellido;
Ur.Direccion = _direccion;
Ur.Email = _email;
Ur.Departamento = _Departamento;
Ur.Ciudad = _Ciudad;
Ur.NroTarjeta = _nroTarjeta;
ILogicaUsuarios lfachadaUsuario = FachadaLogica.getFachadaLogicaUsuario();
int retorno = lfachadaUsuario.AgregarUsuario(Ur);
}
Y ahi esta lo que no entie3ndo; o seguramente me faltan conocimientos para darme cuenta; ¿Como es que los puedo seleccionar, los puedo ver, no me da error ahi, pero cuando va a compilar me dice como que no existe?
Cabe pasar como detalle; que casteo a la clase Usuario cuando lo paso por persistencia.
Ya probe varias cosas y voy a cumplir 3 meses sin poder avanzxar en este proyectito. Agradezco la ayuda que me puedan brindar
Gracias por tomarte el tiempo de leerlo.
saludos
la cuestion es asi: es un proyecto en VS 2008; plataforma c#.
Consta de tres capas (Presentacion, logica y presistencia) . Para hacer estas capas tengo los siguientes proyectos:
-Proyecto Web (el proyecto en si)
-Entidades Compartidas (Biblioteca de clases). donde tengo las clases basicas; en este caso Usuario; y UsuarioRegistrado.
-Logica. (Biblioteca de clases) Donde tengo la interfaz y la comunicacion para acceder a persistencia.
-Persistencia. (Biblioteca de clases) Donde la interfaz y la comunicacion para acceder a la BD.
Hice unos procedimientos que son VerificarUsuario; buscarUsuario; y AgregarUsuario.
En un principio andaban todos, pero yo quiero que ademas de usuarios registrados pueda agregar otros tipos de usuarios (empleados, por ejemplo)
Cuando agregé esta posibilidad; no compilo nunca mas. El error que me salta es el siguiente:
Error 1 'UsuarioRegistrado' no contiene una definición de 'NombreUsuario' ni se encontró ningún método de extensión 'NombreUsuario' que acepte un primer argumento de tipo 'UsuarioRegistrado' (¿falta una directiva using o una referencia de ensamblado?) C:\Documents and Settings\mauro\Escritorio\PROYECTO NINA\WEB\CAmbiado\WebNina\AddUsuario.aspx.cs 105 20 C:\...\WebNina\
Este error me salta cuando en el Form AgregarUsuario les asigno a los atributos del objeto las variables locales; esto es:
try
{
UsuarioRegistrado Ur = new UsuarioRegistrado();
Ur.NombreUsuario = _NombreUsuario;
Ur.Password = _password;
Ur.Habilitado = _habilitado;
Ur.Nombre = _nombre;
Ur.Apellido = _apellido;
Ur.Direccion = _direccion;
Ur.Email = _email;
Ur.Departamento = _Departamento;
Ur.Ciudad = _Ciudad;
Ur.NroTarjeta = _nroTarjeta;
ILogicaUsuarios lfachadaUsuario = FachadaLogica.getFachadaLogicaUsuario();
int retorno = lfachadaUsuario.AgregarUsuario(Ur);
}
Y ahi esta lo que no entie3ndo; o seguramente me faltan conocimientos para darme cuenta; ¿Como es que los puedo seleccionar, los puedo ver, no me da error ahi, pero cuando va a compilar me dice como que no existe?
Cabe pasar como detalle; que casteo a la clase Usuario cuando lo paso por persistencia.
Ya probe varias cosas y voy a cumplir 3 meses sin poder avanzxar en este proyectito. Agradezco la ayuda que me puedan brindar
Gracias por tomarte el tiempo de leerlo.
saludos
Valora esta pregunta
0