Lista ogólnych interfejsów

Jeśli mam ogólny interfejs z kilkoma klasami implementacyjnymi, takimi jak:

public interface IDataElement<T>
{
    int DataElement { get; set; }
    T Value { get; set; }
}

public class IntegerDataElement : IDataElement<int>
{
    public int DataElement { get; set; }
    public int Value { get; set; }
}

public class StringDataElement : IDataElement<String>
{
    public int DataElement { get; set; }
    public String Value { get; set; }
}

Czy możliwe jest przekazanie zbioru klas implementacyjnych różnych typów, bez konieczności uciekania się do przekazywania jako obiektu.

Nie wydaje się możliwe zdefiniowanie wartości zwracanych jako

public IDataElement<T>[] GetData()

lub

public IDataElement<object>[] GetData() 

Jakieś sugestie?

questionAnswers(2)

yourAnswerToTheQuestion