3
IEnumerableの「ステートマシン」の検出
私はc#yield returnを使用して可愛すぎるという興味深い記事を読みました IEnumerableが実際の列挙可能なコレクションであるか、またはyieldキーワードで生成されたステートマシンであるかを検出する最良の方法は何なのかと思いました。 たとえば、(記事の)DoubleXValueを次のように変更できます。 private void DoubleXValue(IEnumerable<Point> points) { if(points is List<Point>) foreach (var point in points) point.X *= 2; else throw YouCantDoThatException(); } 質問1)これを行うより良い方法はありますか? 質問2)これは、APIを作成するときに心配する必要があるものですか?
17
c#
api-design