Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/08/2007, 05:35
chcma
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 11 meses
Puntos: 7
C# 2.0 (Enviar objeto de clase heredada como parametro)

Hola buenas tardes amigos,

Tengo un problema un tanto de principiante. Verán, tengo una clase que tiene un método que recibe como parametro un DataTable.

Bien, yo tengo un DataSet creado en modo diseño y un DataTable creado también en modo diseño: TB_USUARIOSDataTable.

Ok, hasta aqui perfecto, pero... al querer pasar como parametro el TB_USUARIOSDataTable, me sale el siguiente error al compilar:

Código:
Error	1	A property or indexer may not be passed as an out or ref parameter

Error	2	The best overloaded method match for 'HerramientasBD.clsHerramientaBd.SPLectura(string, HerramientasBD.clsParametros, ref System.Data.DataTable)' has some invalid arguments

Error	3	Argument '3': cannot convert from 'ref clienteNikolaeva.DsCliente.TB_USUARIODataTable' to 'ref System.Data.DataTable'
Por favor, ¿Alguien sabe como podría solucionarlo?, no quiero cambiar mi parametro en el método. Pieneso que en principio debería aceptarlme este DataTable como parámetro. ¿Alguien sabe por que puede ser este fallo?


Codigo de la llamada:
Código:
 if (!objCn.SPLectura("PLogin", objParametros, ref ClsGeneral.objDataSet.TB_USUARIO))
{
      this.CadenaError = objCn.CadenaError;
      return false;
}

//TB_USUARIO es del tipo: TB_USUARIODataTable

Codigo método que se invoca:
Código:
public bool SPLectura(string nombreProcedimiento, clsParametros parametrosValor, ref DataTable tbDatos)


clsGeneral es una clase estatica que contiene lo siguiente:
Código:
using System;
using System.Collections.Generic;
using System.Text;
using System.Configuration;

namespace clienteNikolaeva
{
    public static class ClsGeneral
    {
        public static DsCliente objDataSet = new clienteNikolaeva.DsCliente();
    }
}

//DsCliente es el DataSet creado en modo diseño, el cual contiene un DataTable tambien creado en modo diseño: TB_USUARIOS, por eso pineso que deberia aceptarme dicho objeto como parametro, ya que DsCliente.TB_USUARIOS es una clase que hereda de DataTable.
__________________
Charlie.