2011-07-01 15 views
2

特定の静的関数を実装する一般的なパラメータが必要です。私のためのインターフェイス(静的関数)の一部として、このような一般的なパラメータの制約があるのは理にかなっていますが、これを行う方法はわかりません。どんな助けもありがとうございます。一般的なパラメータを特定の静的関数に制限する方法を教えてください。

現在、私は、静的な値を返すNOT静的プロパティを定義することで、このような問題を解決しています。このプロパティは一部のインターフェイスの一部であり、汎用のパラメータはインターフェイスから継承するための制約です。

答えて

4

パラメータレスコンストラクタを必要とするnew()制約を数えない限り、静的メンバーによる型パラメータを制約することはできません。

静的メンバーは、明らかにそのタイプのパブリックAPIの一部であっても、通常のC#の意味でインターフェイスの一部になることはできません。

私は以前(ちょうど機能要求の一種として)C#の将来バージョンで"static interfaces"の可能性についてブログましたが、それは今間違いなく利用できません。

別のタイプが通常のインターフェイスを実装している場合があります。あなたのコンテキストに関する詳細を教えていただけたら、別のアプローチを提案することができます。

0

この時点では、必要なもののようにC#で制約を持つことはできません。私はこの機能も持っていることが大好きです。 :)

関連する問題