Index: trunk/Include/Classes/System/Collections/Generic/List.ab
===================================================================
--- trunk/Include/Classes/System/Collections/Generic/List.ab	(revision 393)
+++ trunk/Include/Classes/System/Collections/Generic/List.ab	(revision 396)
@@ -4,6 +4,19 @@
 Namespace Generic
 
+Interface IEnumerable<T>
+	' Method
+	Function GetEnumerator() As IEnumerator<T>
+End Interface
+
+Interface IEnumerator<T>
+	' Methods
+	Function MoveNext() As Boolean
+	Sub Reset()
+	' Property
+	Function Current() As T
+End Interface
+
 Class List<T>
-	Implements IEnumerable, IEnumerator
+	Implements IEnumerable<T>, IEnumerator<T>
 	items As *T
 	size As Long
@@ -138,5 +151,5 @@
 	@return	IEnumeratorインターフェイスが返る
 	*/
-	Function GetEnumerator() As IEnumerator
+	Function GetEnumerator() As IEnumerator<T>
 		Return This
 	End Function
@@ -173,10 +186,10 @@
 	@return	カレントオブジェクトが返る
 	*/
-	Function Current() As Object
+	Function Current() As T
 		If currentIndexForEnumerator = -1 Then
 			' MoveNextメソッドがReset後、一度も呼び出されなかった
 			Return Nothing
 		End If
-		Return items[currentIndexForEnumerator] As Object
+		Return items[currentIndexForEnumerator]
 	End Function
 End Class
