CONVERTIR OBJECT a OBJECT[]

18/05/2005 - 22:31 por Jose Fernandez | Informe spam
Hola

tengo la siguiente funcion

void CargarListas(CheckBoxList lista,string tabla,string filtro,
System.Object valor)
{
Voluntarios.Reglas.Entidad Ent=new Voluntarios.Reglas.Entidad(tabla);
DataTable oCom=Ent.TraerFiltrado(filtro).Tables[0];
lista.DataSource=oCom;
lista.DataTextField="Descripcion";
lista.DataValueField="Id";
lista.RepeatColumns=3;
lista.DataBind();
object[] valor2=(System.Collections.IList)valor;
<<
for(int i=0;i<valor2.Length;i++)
{
ListItem oLi=(lista.Items.FindByValue(valor2[i].ToString()));
oLi.Selected=true;
}
Ent.Dispose();
}

Como pueden ver, tengo un parametro de la funcion que es tipo object. Como
pueden ver, necesito pasar ese object (que es un array) a un array de
objects... NO SE COMO HACERLO. ya he probado casteando, convirtiendo, de
todo y nada...

Alguien que sepa como hacerlo?

saludos

Preguntas similare

Leer las respuestas

#1 Carlos García-Carazo
19/05/2005 - 11:59 | Informe spam
Tal vez el problema sea que al llamar a la función se convierte el tipo
Array al tipo object (del que hereda) a través de la variable local 'valor',
y ya dentro de la función no puedes reconvertir object al tipo Array
puesto que estamos hablando de una nueva variable local definida como
un tipo simple.

¿has probado a hacer

void CargarListas(CheckBoxList lista, string tabla, string filtro, object [] valor)

???

Si funciona puedes eliminar la variable valor2 y trabajar directamente con 'valor'.

"Jose Fernandez" escribió en el mensaje news:e49Vai%
Hola

tengo la siguiente funcion

void CargarListas(CheckBoxList lista,string tabla,string filtro,
System.Object valor)
{
Voluntarios.Reglas.Entidad Ent=new Voluntarios.Reglas.Entidad(tabla);
DataTable oCom=Ent.TraerFiltrado(filtro).Tables[0];
lista.DataSource=oCom;
lista.DataTextField="Descripcion";
lista.DataValueField="Id";
lista.RepeatColumns=3;
lista.DataBind();
object[] valor2=(System.Collections.IList)valor;
<<
for(int i=0;i<valor2.Length;i++)
{
ListItem oLi=(lista.Items.FindByValue(valor2[i].ToString()));
oLi.Selected=true;
}
Ent.Dispose();
}

Como pueden ver, tengo un parametro de la funcion que es tipo object. Como
pueden ver, necesito pasar ese object (que es un array) a un array de
objects... NO SE COMO HACERLO. ya he probado casteando, convirtiendo, de
todo y nada...

Alguien que sepa como hacerlo?

saludos


Respuesta Responder a este mensaje
#2 Carlos García-Carazo
19/05/2005 - 13:20 | Informe spam
Pues no, me he dado cuenta que no es eso.
Lo unico que se me ocurre es que donde pone

object[] valor2=(System.Collections.IList)valor;

pongas

object[] valor2=(object [])valor;

Pero si como dices ya has probado de todo, pues
ni idea...
Respuesta Responder a este mensaje
#3 Jose Fernandez
19/05/2005 - 16:15 | Informe spam
pues lo que pasaba era lo siguiente.
ese valor como parametro venia como tipo string desde la base de datos
(2,5,7,12,23)
Entonces, obviamente no tenia estructura de array el valor y por lo tanto no
habia manera de convertirlo.
por suerte, string tiene una function que se llama Split que dado un
caracter, te divide la cadena retornando un array.
Seria algo asi como

valor2=valor.ToString().Split(new Char[] {','});

asi de esa forma valor2, que ya esta declarado como array, se llena de
valores que devuelve esa funcion.

Gracias por las respuestas
Jose


"Carlos García-Carazo" wrote in message
news:u$
Pues no, me he dado cuenta que no es eso.
Lo unico que se me ocurre es que donde pone

object[] valor2=(System.Collections.IList)valor;

pongas

object[] valor2=(object [])valor;

Pero si como dices ya has probado de todo, pues
ni idea...


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida