2017-11-12 10 views
1

私はコトリンのジェネリックスと混同しています。どのように関数型のパラメータ(addNewItem()とdeleteItem())でT型のClassを使うことができますか?私は、エラー「型パラメータTが 『アウト』と宣言したが、kotlin位置 『に』に発生している」あなたのインターフェースのみTを生成する場合メソッドでジェネリックタイプのインターフェースを使用

interface IStorageManager<out T: IFileItem> { 

fun getAllItems(): List<T> 

fun addNewItem(itemToAdd: T) 

fun deleteItem(itemToDelete: T) 

} 

screen

答えて

2

、あなたはこのを明確にすることができます取得していますコンパイラにoutと注釈を付けてあなたの例では、Tの消費者として動作するメソッドもあります。したがって、outは機能しません。 outというキーワードを削除するだけで問題ありません。

その後、心によって次のことを学ぶ:)たくさんありがとう https://kotlinlang.org/docs/reference/generics.html

+0

を。できます ) –

関連する問題