Tener la siguiente clase genérica que contendría ya sea string, int, float, long
como el tipo:C#: Declarar y usar una lista de clases genéricas con diferentes tipos, ¿cómo?
public class MyData<T>
{
private T _data;
public MyData (T value)
{
_data = value;
}
public T Data { get { return _data; } }
}
Estoy tratando de obtener una lista de MyData<T>
, donde cada elemento sería diferente de T
.
Quiero ser capaz de acceder a un elemento de la lista y obtener su valor como en el siguiente código:
MyData<> myData = _myList[0]; // Could be <string>, <int>, ...
SomeMethod (myData.Data);
donde SomeMethod()
se declara como sigue:
public void SomeMethod (string value);
public void SomeMethod (int value);
public void SomeMethod (float value);
ACTUALIZACIÓN:
SomeMethod()
es de otra clase de nivel que no tengo control y SomeMethod(object)
no existe.
Sin embargo, parece que no puedo encontrar la manera de hacer feliz al compilador.
¿Alguna sugerencia?
Gracias.
Podría explicar lo que hace su SomeMethod? Es posible que podamos ayudarlo mejor. –
Lo que SomeMethod hace no es relevante aquí. Añadiré que no hay definición para SomeMethod (objeto). –
Su diseño básico es defectuoso. Te sugiero que hagas una pregunta donde detallas los requisitos y tu solución y pides sugerencias. – Will