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?
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();
Dale una buena leída a esta página.
https://msdn.microsoft.com/es-es/library/ms173183.aspx (https://msdn.microsoft.com/es-es/library/ms173183.aspx)
Había visto reflection, también hice algunas cosas, pero en el trabajo mucho que no les gusta.
PD: C# es horrible.
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?
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