C#がJavaの<? extends Base>に相当するジェネリックスを発表
2023-10-01 13:52:38
質問
Javaで、以下のようなことができる。(仮に
Subclass
が拡張する
Base
):
ArrayList<? extends Base> aList = new ArrayList<Subclass>();
C# .NETでこれに相当するものはありますか?この場合
? extends
キーワードはないようで、これは動作しません。
List<Base> aList = new List<Subclass>();
どのように解決するのですか?
実は、これと同じようなもの(のようなもの)があります。
where
というキーワードがあります。私はそれがどのように "close"であるかは知りません。私は似たようなことをする必要がある関数がありました。
を見つけたのですが msdnページ を見つけました。
変数の場合はインラインでできるかどうか分かりませんが、クラスの場合はできます。
public class MyArray<T> where T: someBaseClass
または関数の場合
public T getArrayList<T>(ArrayList<T> arr) where T: someBaseClass
ページでは見かけませんでしたが、このように
where
キーワードを使用すると、変数として可能かもしれません。
関連
-
[解決済み】「The breakpoint will not currently be hit」を改善するには?このドキュメントにはシンボルが読み込まれていません。" という警告はどうすれば改善されますか?
-
[解決済み】Nullableオブジェクトは値を持たなければならない?
-
[解決済み] enumを列挙するには
-
[解決済み] ディープクローンオブジェクト
-
[解決済み] C#でベースコンストラクタを呼び出す
-
[解決済み] なぜList<T>を継承しないのですか?
-
[解決済み] 特定のプロパティに対するLINQのDistinct()
-
[解決済み] List<Dog> は List<Animal> のサブクラスですか?Java のジェネリックはなぜ暗黙のうちに多相性にならないのですか?
-
[解決済み] ベースクラスのコンストラクタを呼び出す際のルールは?
-
[解決済み】大文字・小文字を区別しない「Contains(string)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 保護レベルによりアクセス不能になりました。
-
[解決済み】C#はJavaのcharAt()と同等?)
-
[解決済み】"The ConnectionString property has not been initialized "を修正する方法
-
[解決済み】ソケットのアドレス(プロトコル/ネットワークアドレス/ポート)は、通常1つしか使用できない?
-
[解決済み】トランスポート接続からデータを読み取れない:既存の接続は、リモートホストによって強制的に閉じられました。
-
[解決済み】クロススレッド操作が有効でない。作成されたスレッド以外のスレッドからアクセスされたコントロール
-
[解決済み】C# - パスに不正な文字がある場合
-
[解決済み】EF 5 Enable-Migrations : アセンブリにコンテキストタイプが見つかりませんでした
-
[解決済み】aspNetCore 2.2.0 - AspNetCoreModuleV2 エラー
-
[解決済み] 関数を終了するには?