Index: trunk/Include/Classes/System/IO/FileSystemInfo.ab
===================================================================
--- trunk/Include/Classes/System/IO/FileSystemInfo.ab	(revision 400)
+++ trunk/Include/Classes/System/IO/FileSystemInfo.ab	(revision 406)
@@ -7,5 +7,5 @@
 	m_LastAccessTime As FILETIME
 	m_LastWriteTime As FILETIME
-	m_FileAttributes As DWord
+	m_FileAttributes As FileAttributes
 
 	m_IsFreshed As Boolean
@@ -14,11 +14,26 @@
 	OriginalPath As String
 Public
+
+	/*!
+	@brief	コンストラクタ
+	@author	OverTaker
+	*/
 	Sub FileSystemInfo()
 		m_IsFreshed = False
 	End Sub
 
+	/*!
+	@brief	デストラクタ
+	@author	OverTaker
+	*/
 	Sub ~FileSystemInfo()
 	End Sub
 
+	/*!
+	@brief	値が等しいか比較する
+	@author	OverTaker
+	@param  比較するオブジェクト
+	@return 等しい場合True,そうでない場合False
+	*/
 	Override Function Equals( object As Object ) As Boolean
 		If This.ToString = object.ToString Then
@@ -29,15 +44,33 @@
 	End Function
 
+	/*!
+	@brief	文字列で表したオブジェクトを取得する
+	@author	OverTaker
+	@return オブジェクトの文字列(ファイルパス)
+	*/
 	Override Function ToString() As String
 		Return FullPath
 	End Function
 
-	'Public Properties
-	Function Attributes() As DWord'FileAttributes
+	'----------------------------------------------------------------
+	' パブリック プロパティ
+	'----------------------------------------------------------------
+
+	/*!
+	@brief	ファイルの属性を取得する
+	@author	OverTaker
+	@return ファイル属性
+	*/
+	Function Attributes() As FileAttributes
 		If Not m_IsFreshed Then Refresh()
 		Return m_FileAttributes
 	End Function
 
-	Sub Attributes(value As DWord)
+	/*!
+	@brief	ファイル属性を設定する
+	@author	OverTaker
+	@param  ファイル属性
+	*/
+	Sub Attributes(value As FileAttributes)
 		If SetFileAttributes(ToTCStr(FullPath), value) = FALSE Then
 			'Exception
@@ -46,4 +79,9 @@
 	End Sub
 
+	/*!
+	@brief	ファイル作成日を取得する
+	@author	OverTaker
+	@return ファイルの作成日
+	*/
 	Function CreationTime() As DateTime
 		If Not m_IsFreshed Then Refresh()
@@ -51,4 +89,9 @@
 	End Function
 
+	/*!
+	@brief	ファイル作成日を設定する
+	@author	OverTaker
+	@param  ファイルの作成日
+	*/
 	Sub CreationTime(ByRef value As DateTime)
 		m_CreationTime = value.ToFileTimeUtc()
@@ -56,12 +99,27 @@
 	End Sub
 
+	/*!
+	@brief	ファイル作成日をUTC時刻で取得する
+	@author	OverTaker
+	@return ファイルの作成日(UTC)
+	*/
 	Function CreationTimeUtc() As DateTime
 		Return CreationTime.ToUniversalTime()
 	End Function
 
+	/*!
+	@brief	ファイル作成日をUTC時刻で設定する
+	@author	OverTaker
+	@param  ファイルの作成日(UTC)
+	*/
 	Sub CreationTimeUtc(ByRef value As DateTime)
 		CreationTime = value
 	End Sub
 
+	/*!
+	@brief	ファイル最終アクセス日を取得する
+	@author	OverTaker
+	@return ファイルの最終アクセス日
+	*/
 	Function LastAccessTime() As DateTime
 		If Not m_IsFreshed Then Refresh()
@@ -69,4 +127,9 @@
 	End Function
 
+	/*!
+	@brief	ファイル最終アクセス日を設定する
+	@author	OverTaker
+	@param  ファイルの最終アクセス日
+	*/
 	Sub LastAccessTime(ByRef value As DateTime)
 		m_LastAccessTime = value.ToFileTimeUtc()
@@ -74,12 +137,27 @@
 	End Sub
 
+	/*!
+	@brief	ファイル最終アクセス日をUTC時刻で取得する
+	@author	OverTaker
+	@return ファイルの最終アクセス日(UTC)
+	*/
 	Function LastAccessTimeUtc() As DateTime
 		Return LastAccessTime.ToUniversalTime()
 	End Function
 
+	/*!
+	@brief	ファイル最終アクセス日をUTC時刻で設定する
+	@author	OverTaker
+	@param  ファイルの最終アクセス日(UTC)
+	*/
 	Sub LastAccessTimeUtc(ByRef value As DateTime)
 		LastAccessTime = value
 	End Sub
 
+	/*!
+	@brief	ファイルの最終書き込み日を取得する
+	@author	OverTaker
+	@return ファイルの最終書き込み日
+	*/
 	Function LastWriteTime() As DateTime
 		If Not m_IsFreshed Then Refresh()
@@ -87,4 +165,9 @@
 	End Function
 
+	/*!
+	@brief	ファイルの最終書き込み日を設定する
+	@author	OverTaker
+	@param  ファイルの最終書き込み日
+	*/
 	Sub LastWriteTime(ByRef value As DateTime)
 		m_LastWriteTime = value.ToFileTimeUtc()
@@ -92,12 +175,27 @@
 	End Sub
 
+	/*!
+	@brief	ファイルの最終書き込み日をUTC時刻で取得する
+	@author	OverTaker
+	@return ファイルの最終書き込み日(UTC)
+	*/
 	Function LastWriteTimeUtc() As DateTime
 		Return LastWriteTime.ToUniversalTime()
 	End Function
 
+	/*!
+	@brief	ファイルの最終書き込み日をUTC時刻で設定する
+	@author	OverTaker
+	@param  ファイルの最終書き込み日(UTC)
+	*/
 	Sub LastWriteTimeUtc(ByRef value As DateTime)
 		LastWriteTime = value
 	End Sub
 
+	/*!
+	@brief	ファイルが存在するかどうかを取得する
+	@author	OverTaker
+	@return ファイルが存在する場合True,そうでない場合False
+	*/
 	Function Exists() As Boolean
 		If Not m_IsFreshed Then Refresh()
@@ -109,24 +207,50 @@
 	End Function
 
+	/*!
+	@brief	ファイル拡張子を取得する
+	@author	OverTaker
+	@return ファイル拡張子
+	*/
 	Function Extension() As String
 		Return Path.GetExtension(FullPath)
 	End Function
 
+	/*!
+	@brief	ファイルパスを取得する
+	@author	OverTaker
+	@return ファイルパス
+	*/
 	Function FullName() As String
 		Return FullPath
 	End Function
 
+	/*!
+	@brief	ファイル名を取得する
+	@author	OverTaker
+	@return ファイル名
+	*/
 	Function Name() As String
 		Return Path.GetFileName(FullPath)
 	End Function
 
-	'Public Methods
+
+	'----------------------------------------------------------------
+	' パブリック メソッド
+	'----------------------------------------------------------------
+
+	/*!
+	@brief	ファイルを削除する
+	@author	OverTaker
+	*/
 	Virtual Sub Delete()
 		If DeleteFile(ToTCStr(FullPath)) = FALSE Then
-			'Exception
-			debug
-		End If
-	End Sub
-
+			Throw 'Exception
+		End If
+	End Sub
+
+	/*!
+	@brief  ファイルを最新の情報に更新する
+	@author	OverTaker
+	*/
 	Virtual Sub Refresh()
 		Dim data As WIN32_FIND_DATA
@@ -134,5 +258,5 @@
 		FindClose(hFind)
 
-		m_FileAttributes = data.dwFileAttributes
+		m_FileAttributes = New FileAttributes(data.dwFileAttributes As Long, "FileAttributes")
 		m_CreationTime = data.ftCreationTime
 		m_LastAccessTime = data.ftLastAccessTime
@@ -141,5 +265,15 @@
 		m_IsFreshed = True
 	End Sub
+
+	
+	'----------------------------------------------------------------
+	' パブリック プライベート
+	'----------------------------------------------------------------
 Private
+
+	/*!
+	@brief  ファイルの時間を更新する
+	@author	OverTaker
+	*/
 	Sub setFileTime()
 		If Not m_IsFreshed Then Refresh()
