C #: declarando e usando uma lista de classes genéricas com tipos diferentes, com

Tendo a seguinte classe genérica que conteriastring, int, float, long como o tipo:

public class MyData<T>
{
    private T _data;

    public MyData (T value)
    {
        _data = value;
    }

    public T Data { get { return _data; } }
}

Estou tentando obter uma lista deMyData<T> onde cada item seria diferenteT.

Quero acessar um item da lista e obter seu valor como no código a seguir:

MyData<> myData = _myList[0];    // Could be <string>, <int>, ...
SomeMethod (myData.Data);

OndeSomeMethod() é declarado da seguinte forma:

public void SomeMethod (string value);
public void SomeMethod (int value);
public void SomeMethod (float value);

ATUALIZAR

SomeMethod() é de outra classe de nível da qual não tenho controle eSomeMethod(object) não existe

o entanto, não consigo encontrar uma maneira de fazer o compilador feli

Alguma sugestão

Obrigado

questionAnswers(9)

yourAnswerToTheQuestion