回答編集履歴

3

テストコードを追加

2018/11/09 05:31

投稿

nakajimakotaro
nakajimakotaro

スコア90

test CHANGED
@@ -59,3 +59,37 @@
59
59
 
60
60
 
61
61
  と書きましたがgaya-Kさんの言う通りジェネリックの共変性・反変性による物でした。
62
+
63
+
64
+
65
+ ※テストコードを追加
66
+
67
+ ```C#
68
+
69
+ using System;
70
+
71
+ using System.Linq;
72
+
73
+ using System.Collections.Generic;
74
+
75
+ class MT_Report { }
76
+
77
+ class MT_ReportPlus : MT_Report { }
78
+
79
+ class Class
80
+
81
+ {
82
+
83
+ static void Main()
84
+
85
+ {
86
+
87
+ List<MT_Report> baseList = new List<MT_ReportPlus>().Cast<MT_Report>().ToList();
88
+
89
+ List<MT_ReportPlus> plusList = baseList.Cast<MT_ReportPlus>().ToList();
90
+
91
+ }
92
+
93
+ }
94
+
95
+ ```

2

修正

2018/11/09 05:31

投稿

nakajimakotaro
nakajimakotaro

スコア90

test CHANGED
@@ -59,7 +59,3 @@
59
59
 
60
60
 
61
61
  と書きましたがgaya-Kさんの言う通りジェネリックの共変性・反変性による物でした。
62
-
63
- こちらの解説がわかりやすかったです。
64
-
65
- [ジェネリックの共変性・反変性](https://ufcpp.net/study/csharp/sp4_variance.html)

1

間違い

2018/11/08 23:17

投稿

nakajimakotaro
nakajimakotaro

スコア90

test CHANGED
@@ -1,4 +1,6 @@
1
- List<AnotherClass>とList<Base>は全く別の型なのでキャストすることはできません。
1
+ ~~List<AnotherClass>とList<Base>は全く別の型なのでキャストすることはできません。~~
2
+
3
+ ※間違いでした。追記をご覧下さい。
2
4
 
3
5
 
4
6
 
@@ -47,3 +49,17 @@
47
49
  }
48
50
 
49
51
  ```
52
+
53
+
54
+
55
+ ※追記
56
+
57
+ > List<AnotherClass>とList<Base>は全く別の型なのでキャストすることはできません。
58
+
59
+
60
+
61
+ と書きましたがgaya-Kさんの言う通りジェネリックの共変性・反変性による物でした。
62
+
63
+ こちらの解説がわかりやすかったです。
64
+
65
+ [ジェネリックの共変性・反変性](https://ufcpp.net/study/csharp/sp4_variance.html)