Einzigen Kombinierten C# - Liste mit mehreren Klasse-Typen

Bauen auf einem post habe ich hier gesehen:

C# - Mehrere generische Typen in einer Liste

Ich soll binden eines WPF-DataGrid die ClassAClassBCombinedList Eigenschaft so etwas wie:

<DataGrid ItemsSource="{Binding ClassAClassBCombinedList.Data}" />

für die Eigenschaft:

public List<CombinedClass> ClassAClassBCombinedList
{
    get
    {
        List<CombinedClass> result = new List<CombinedClass>();
        result.Add(new CombinedClass<ClassA>(new ClassA()));
        result.Add(new CombinedClass<ClassB>(new ClassB()));
        return result;
    }
}

Mit CombinedClass definiert als:

public interface CombinedClass { }

public class CombinedClass<T> : CombinedClass where T : class
{
    public CombinedClass(T classInstance)
    {
        Data = classInstance;
    }            
    public T Data { get; private set; }
}

Aber das funktioniert nicht, weil:

'CombinedClass' enthält keine definition für 'Daten' und keine Erweiterungsmethode 'Daten' die Annahme ein erstes argument vom Typ 'CombinedClass'

Können Sie den Zugriff auf die Daten Mitglied durch Gießen, aber diese Niederlagen der Punkt.

((CombinedClass<ClassA>)ClassAClassBCombinedList.First()).Data;

Irgendwelche Ideen auf, wie zu kombinieren, eine Liste mit mehreren Klasse-Typen und binden Sie in WPF??

InformationsquelleAutor SDK | 2011-02-24
Schreibe einen Kommentar