Pasar como parametro un var de Linq

11/12/2008 - 15:39 por Paul | Informe spam
Hola,

En el load de un formulario hago por ejemplo:
var clienteVehiculo;= from cli in dc.clientes
join coche in dc.vehiculos
on cli.id==coche.idCli
select new
{
idCliente=cli.id,
idVehiculo=coche.id,
nombreVliente=cli.nombre,
matricula=coche.matricula
};

Y esto quiero que sea visible para varios metodos del formulario.
Como puedo pasar clienteVehiculo como parametro a otras funciones?
En estas funciones se podra hacer paramClienteVehiculo.nombre?

Gracias
 

Leer las respuestas

#1 Alberto Poblacion
11/12/2008 - 15:48 | Informe spam
"Paul" wrote in message
news:
En el load de un formulario hago por ejemplo:
var clienteVehiculo;= from cli in dc.clientes
join coche in dc.vehiculos
on cli.id==coche.idCli
select new
{
idCliente=cli.id,
idVehiculo=coche.id,
nombreVliente=cli.nombre,
matricula=coche.matricula
};

Y esto quiero que sea visible para varios metodos del formulario.
Como puedo pasar clienteVehiculo como parametro a otras funciones?
En estas funciones se podra hacer paramClienteVehiculo.nombre?




No, no se puede. Es una limitación de C# 3.0: Los var no se reconocen
fuera del ámbito que los declara e inicializa. En C# 4.0 (que aún es
preliminar y la especificación no es definitiva) probablemente estarán
disponibles los tipos "dynamic" que sí que permitirán hacer estas cosas,
pero en el 3.0 no se puede. Tendrías que usar en el select un tipo concreto
en lugar de un tipo anónimo, y asignar los resultados de la consulta a una
lista de ese tipo concreto. Entonces sí que podrías devolver la lista fuera
del método.

Preguntas similares