VB.Netには汎用関数があります。また、A
とB
という2つのクラスがあります。私の関数の汎用的な制約によって、TypeがクラスA
またはB
のいずれかになるようにすることは可能ですか?クラスA
とB
は、オブジェクトを除くすべての基本クラスを共有しません。Typeを2つの異なるクラスにする一般的な制約
答えて
これはできません。 2つのクラスの共通APIを使用してインターフェイスを作成し、両方のクラスでそのインターフェイスを実装することをお勧めします。
コードの再利用、OOの観点から好ましい – Jodrell
私は最近、Javaの学習に焦点を当てていますが、これが可能であることがわかりました。ジェネリックパラメータを宣言するときは、 "&"演算子を使用して複数のジェネリック制約を組み合わせることができます。これは次のようになります。この上
public class List<T extends IInterface1 & IInterface2> {
...
}
私が最初に考えたのは、私がなぜちょうどオーバーロードされたメソッドを宣言しない、
.NETおよびC#も複数の制約をサポートしています。しかし、ソートx OR y、xとyのみの制約を持つことはできません。例えば。 'void foo
- 1. 一般的なクラス、制約、継承
- 2. 一般的な制約によってのみ異なるメソッドオーバーロード
- 3. 特定のクラスに対する一般的な制約は、なぜですか?
- 4. 一般的な制約タイプのデフォルト値
- 5. 2つの同じクラスの異なるパッケージからの一般的な使用
- 6. 活字体は、一般的な制約
- 7. 一般的なメソッド、等価制約
- 8. ValueTypesのValueTypes、Strings、Nullableに対する一般的な制約
- 9. 一般的な制約を持つ汎用メソッド
- 10. 一般的な制約を値型で使用する
- 11. TypeScript:一般的な制約でタイプパラメータを使用する
- 12. 一般的な制約を反転する
- 13. 完全に異なる2つのタイプの一般的なメソッドを書く
- 14. 一般的なメソッドとプロパティを持つ2つのクラス
- 15. VB.Net一般的な制限
- 16. C# - 派生型と一致するインターフェイス一般的なメソッドの制約
- 17. 一般的な制約内の汎用型の引数
- 18. MoqとNUnitでの実行時の一般的な制約エラー
- 19. 異なるリターンタイプを持つ一般的なデリゲート
- 20. ユニバーサル・一般制約
- 21. CSS - 一般的なクラス
- 22. 一般的なTextWatcherクラス
- 23. 一般的な値クラス
- 24. 一般的なクラスのファイル名の規約
- 25. 異なるサイズクラスの異なる制約
- 26. 再構築一般的な制約の多くを削除する提案
- 27. コンパレータの一般的な契約違反
- 28. Enumメソッドを使用して一般的なメソッドを制約するT
- 29. F#型制約が一致しません一般的な機能に制約を使用して、F#プロジェクトで
- 30. 2つの異なる列の制約の組み合わせ
は非常に一般的な音ではありません:-) .NETでこれを使用していただければ幸いですということでした。 – Jodrell