C#のインターフェースを勉強している時にとあるコードを見つけたのですが、意味がよくわからなかったので質問させて頂きました。
(自分で調べようと思ったのですが、なんて調べればよいか分からず解説が見つかりませんでした。)
質問の内容
下記のコードでインターフェース「IGenerator<T>」を実装しているクラス「Hoge」があるのですが、Hogeのインターフェース実装内容に「: IGenerator<IGenerator<int>>」という記述がありました。
この記述が一体何を表しているのか分かりませんでした。
インターフェースを実装するのであれば、「: IGenerator<int>」という記述が正しいように思えるのですが、これですとエラーが出てしまいます。
一体全体「: IGenerator<IGenerator<int>>」は何なんでしょうか。
インターフェース
C#
1public interface IGenerator<T> 2 { 3 T Generate(); 4 }
上記のインターフェースを実装しているクラス
c#
1public class Hoge : IGenerator<IGenerator<int>> //ここでインターフェースを実装しているのですが、書いてる内容がイミフです 2 { 3 4 public IGenerator<int> Generate() 5 { 6 return new NumberMachine(); 7 } 8 }
内容が足りなければ、ご指摘いただければ追記致します。
List<List<string>> みたいなものでしょう。
ていうか本文を読めばいいんじゃないですかね。
https://qiita.com/tobigitsune/items/68d2369a43e3bca3e6dc
回答1件
あなたの回答
tips
プレビュー