Test Foro de elhacker.net SMF 2.1

Programación => Programación General => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Miseryk en 27 Octubre 2016, 14:48 PM

Título: C# Parámetro Clase Genérica
Publicado por: Miseryk en 27 Octubre 2016, 14:48 PM
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();
Título: Re: C# Parámetro Clase Genérica
Publicado por: El Benjo en 28 Octubre 2016, 01:48 AM
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)
Título: Re: C# Parámetro Clase Genérica
Publicado por: Miseryk en 28 Octubre 2016, 14:19 PM
Había visto reflection, también hice algunas cosas, pero en el trabajo mucho que no les gusta.

PD: C# es horrible.
Título: Re: C# Parámetro Clase Genérica
Publicado por: El Benjo en 28 Octubre 2016, 20:43 PM
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?
Título: Re: C# Parámetro Clase Genérica
Publicado por: Novlucker en 16 Noviembre 2016, 07:01 AM
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