Un colega me señaló un caso extraño en C# (no estoy tan seguro de si esto realmente extraño).
Supongamos que tiene un empleado de la clase. Si desea crear una lista genérica <> de tipo Empleado, sólo tiene que hacer:
¿Por qué esto no es posible en C# Generics?
List<Employee> x = new List<Employee>;
entiendo que tengo que pasar el tipo de empleado a la lista genérica para que conozca la información de tipo requerida acerca Empleado y genera métodos que devuelven y aceptan parámetros que son compatibles con Employee.
Ahora mi pregunta es, ¿por qué no es posible hacer lo siguiente?
Employee x = new Employee();
List<typeof(x)> list = new List<typeof(x)>();
Si esto no es suficiente la información requerida para la Lista <> saber, con el fin de crear una lista? En otras palabras, el tipo de x que es el tipo de empleado pasa ahora como un parámetro de tipo genérico a la lista <>, que (como yo solía creer) es lo mismo que pasar lista el nombre del tipo (en este caso, empleado) .
sé que algo como esto está disponible en Java (usando el .class) de palabras clave en una variable.
Estoy seguro de que me falta algo, así que, por favor, ¡enlight me guys!
Buen ejemplo de código. ¿Qué pasaría si usa 'typeof' en la variable' list'? – FrustratedWithFormsDesigner
typeof (list) daría lugar a un error de compilación. –
Jon, gracias por tu respuesta detallada! Y como esta es información de tiempo de compilación, estoy en el camino correcto. Sin embargo, hablar de si es útil o no es un tanto controvertido;). – Galilyou