C# Parámetro Clase Genérica

Iniciado por Miseryk, 27 Octubre 2016, 14:48 PM

0 Miembros y 1 Visitante están viendo este tema.

Miseryk

Hola a todos, alguno tiene idea como hacer una clase que por parámetro reciba cualquier tipo de clase y llame a sus funciones?

Ej: Tengo una clase (referencia de dll) llamada UD01 hasta UD100, ambas clases comparten mismas funciones pero ejecutan sentencias internas de SQL hacia tu tabla correspondiente.

Hay alguna manera de hacer ésto?

Código (csharp) [Seleccionar]

public class GenericClass
{
   cualquierclase ClaseGenerica;

   public GenericClass(clase Generica)
   {
       ClaseGenerica = Generica;
   }

   public void Test()
   {
       ClaseGenerica.Connect();
       //code
       ClaseGenerica.Disconnect();
   }
}

GenericClass asd = new GenericClass(UD10);
asd.Test();
Can you see it?
The worst is over
The monsters in my head are scared of love
Fallen people listen up! It's never too late to change our luck
So, don't let them steal your light
Don't let them break your stride
There is light on the other side
And you'll see all the raindrops falling behind
Make it out tonight
it's a revolution

CL!!!

El Benjo

www.es.neftis-ai.com

Sí hay un mejor lenguaje de programación y es ese con el que puedes desarrollar tus objetivos.

Miseryk

Había visto reflection, también hice algunas cosas, pero en el trabajo mucho que no les gusta.

PD: C# es horrible.
Can you see it?
The worst is over
The monsters in my head are scared of love
Fallen people listen up! It's never too late to change our luck
So, don't let them steal your light
Don't let them break your stride
There is light on the other side
And you'll see all the raindrops falling behind
Make it out tonight
it's a revolution

CL!!!

El Benjo

Por el contrario, C# es muy flexible y se pueden hacer grandes cosas con pocas líneas de código. Lo que comentas sobre que en tu trabajo no les guste trabajar con eso, pues es problema de actitud de parte de ustedes. Te explico:

C# te da la posibilidad de hacer lo que pides mediante reflexión, cosa que en otros lenguajes es difícil o hasta imposible de hacer. Ahora bien, piensa en esto, si conoces la manera de hacer algo y no lo haces simplemente porque no te gusta, ¿de quién es la culpa? ¿del lenguaje de programación o tuya?
www.es.neftis-ai.com

Sí hay un mejor lenguaje de programación y es ese con el que puedes desarrollar tus objetivos.

Novlucker

En realidad no necesariamente hace falta reflection. UD01 y UD100 heredan de una misma clase base o implementan una misma interfaz? De ser así se puede hacer usando polimorfismo y generics

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein