ジェネリックスを使用して.NET同等物を理解しようとしています(数年前にJavaをやっていました)。ここで私は何をしたいのためにいくつかの擬似コードです: 抽象基本クラスのプロパティで汎用コレクションを使用できますか?
abstract base class MyBase
abstract property string Name;
abstract property ObservableCollection<T> SubItems;
は、それから私は、それぞれが異なる電子う2つのプロパティと、コレクション内のオブジェクトの種類を実装しmyBaseから継承する2つのクラスを持っています。
class Real1 : MyBase
property string Name
property ObservableCollection<SomeClass> SubItems;
class Real2 : MyBase
property string Name
property ObservableCollection<SomeDifferentClass> SubItems;
点は、これらの項目は(XAML結合のため)同じプロパティ名を持っているすべての子要素を必要とTreeViewコントロールにバインドできるようにすることです。共通のタイプの新しいコレクションを作成する必要がある場合は、それぞれを繰り返し処理する必要があり、コレクションが大きくなります。私はオリジナルのコレクションデータを管理しないので、それらのクラスを変更することはできません。
擬似コードを書くのではなく、[mcve]を書くことができますか?基本的にはMyBaseを汎用的にする必要があるようですが、MyBaseとMyBase を作成する必要があります.2つのサブクラスが必要なことは明らかではありません。 –
サブクラスのプロパティの実装がベースクラス(ジェネリック型以外)と異なるのはなぜですか? –