2011-11-15 7 views
0

誰もが今までのGTK#ウィジェットのためのジェネリックを使用しようとしていますか?使用ジェネリック

私は新しいアイテムを作成するために、右横に二つのボタンとコンボボックスで構成されたウィジェットを作成するためのアイデアを他の選択した項目を編集するための1つをプレイしています。明らかに、アイテムのタイプが一般的な場合は、ウィジェットがあまり役に立たない場合、または抽象ウィジェットにしてから、多数のサブタイプを作成する必要があります、どちらか。その結果で

私は誰もがすでにこれをしようとしているかどうかを疑問に思って。私が見る限り、言語仕様にはそれを妨げるものは何もありません。私がいる限り、このような などのウィジェットが完全に機能するよう、MonoDevelopの中にUIデザイナーは、おそらく私にヒスだろうが、私はそれと一緒に暮らすことができると仮定します。

+0

私はあなたが、これはジェネリック医薬品を必要と考える理由はわかりません。コンボボックスは単なる文字列の集合です。 – mikerobi

+0

非常に単純な形式で、はい。より高度なフォームでは、特定の目的のために選択することができるすべてのアイテムの「名前」プロパティを表示します。 – wolfgangsz

答えて

0

はい、できます。ジェネリッククラスがあなたの表示されたプロパティを持つインターフェイスを実装していることを確認するだけです。

public partial class ExampleWidget<T> : Gtk.Bin where T: INote 
{ 
    private T model; 

    public ComboBoxItem (T model) 
    { 
     this.Build(); 
     this.model = model; 
     label1.Text = model.Description; 
    } 
} 

はまた、あなたはデザイナーの作成したファイルのジェネリックを行う必要があり、それはオールウェイズ非総称するクラスをオーバーライドしますので、あなたは、デザイナーでの作業を停止しなければなりません。 ウィジェットをデザインして、それを一般的なものにする。

関連する問題