Rust part10at TECHRust part10 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト402:デフォルトの名無しさん 21/05/02 15:58:09.22 TmCNx2ML.net https://doc.rust-lang.org/reference/types/trait-object.html こっちじゃ`dyn Trait`のことをtrait objectと呼んでいるようだけど というか俺はこれだと思ってた Traitを実装する具体型の値のアドレスと、その型に対するTrait実装のvtableの組 403:デフォルトの名無しさん 21/05/02 16:04:49.31 n4dQrb8u.net >>394 C#はあまり詳しくないけど、例えばListのAddRange関数の引数の(IEnumerable collection)が近いかな AddRangeにはIEnumerableを実装してればどんな型でも渡せるはず(ArrayList、HashSet, etc) これをAddRangeの視点で見ると、渡されたcollectionが実際に何の型かは分からないけど IEnumerable(interface≒trait)を実装してることは分かってるから そのGetEnumeratorを呼んでIEnumeratorを受け取ってそこから取り出せる要素を全部追加すれば 目的の動作は果たせることになる このAddRangeの引数のcollectionがIEnumerableトレイトを実装したtrait objectって感じ 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch