DOBON.NET DOBON.NETプログラミング掲示板過去ログ

プラグインのプロパティによるソート

環境/言語:[Win2000, VB.NET 2005]
分類:[.NET]

2006/08/11(Fri) 14:02:07 編集(投稿者)

プラグイン機能を持つアプリケーションを作るのにこちらの記事を参考にさせてもらいました。
質問なんですが、プラグインに複数のプロパティを作った場合、プラグインのインスタンスを取得した後に、指定したプロパティでソートする方法はありますか?

<Form_Load>
'プラグインのインスタンスを取得する
Me.plugins = New Plugin.IPlugin(pis.Length - 1) {}
Dim i As Integer
For i = 0 To (Me.plugins.Length) - 1
  Me.plugins(i) = pis(i).CreateInstance(Me)
Next i

例えば、Plugin.IPluginが『Name』『Code』『Division』といったプロパティを持っているとして、pluginsをNameの順に並べ替えたり、Codeの順に並べ替えたり。

よろしくお願いします。
Pluginという型がわかっているようなので
System.Collections.Generic.List(Of T)へ格納して
IComparer(Of T)を実装したクラスでSortメソッドを実行すればできます。

MSDNのSortメソッドの例やListView.ColumnClickイベントの例が参考になるでしょう。

DOBON.NET | プログラミング道 | プログラミング掲示板