Index: Include/Classes/System/Diagnostics/base.ab
===================================================================
--- Include/Classes/System/Diagnostics/base.ab	(revision 207)
+++ Include/Classes/System/Diagnostics/base.ab	(revision 246)
@@ -1,222 +1,226 @@
-
-Class _System_TraceBase
-	indentLevel As Long
-	indentSize As Long
-
-
-	' リスナ管理
-	listeners As TraceListenerCollection
-
-Public
-
-	' コンストラクタ
-	Sub _System_TraceBase()
-		listeners = New TraceListenerCollection
-		listeners.Add( New DefaultTraceListener() )
-
-		indentLevel = 0
-		indentSize = 4
-	End Sub
-
-	'----------------------------------------------------------------
-	' パブリック メソッド
-	'----------------------------------------------------------------
-
-	' アサート（コールスタックを表示）
-	Sub Assert( condition As Boolean )
-		If condition = False then
-			'TODO: コールスタックを表示
-		End If
-	End Sub
-
-	' アサート（メッセージ文字列を表示）
-	Sub Assert( condition As Boolean, message As String )
-		If condition = False then
-			' TODO: メッセージボックス形式での表示に対応
-			WriteLine( message )
-		End If
-	End Sub
-
-	' アサート（メッセージ文字列と詳細文字列を表示）
-	Sub Assert( condition As Boolean, message As String, detailMessage As String )
-		If condition = False then
-			' TODO: メッセージボックス形式での表示に対応
-			WriteLine( message )
-		End If
-	End Sub
-
-
-	' インデントレベルを上げる
-	Sub Indent()
-		IndentLevel = indentLevel + 1
-	End Sub
-
-	' インデントレベルを下げる
-	Sub Unindent()
-		If indentLevel <= 0 Then
-			indentLevel = 0
-			Return
-		End If
-		IndentLevel = indentLevel - 1
-	End Sub
-
-	' 文字列を出力
-	Sub Write( value As Object )
-		Dim i As Long
-		For i = 0 To ELM( listeners.Count )
-			Dim listener = listeners[i]
-			listener.Write( value )
-		Next
-	End Sub
-	Sub Write( message As String )
-		Dim i As Long
-		For i = 0 To ELM( listeners.Count )
-			Dim listener = listeners[i]
-			listener.Write( message )
-		Next
-	End Sub
-	Sub Write( value As Object, category As String )
-		Dim i As Long
-		For i = 0 To ELM( listeners.Count )
-			Dim listener = listeners[i]
-			listener.Write( value, category )
-		Next
-	End Sub
-	Sub Write( message As String, category As String )
-		Dim i As Long
-		For i = 0 To ELM( listeners.Count )
-			Dim listener = listeners[i]
-			listener.Write( message, category )
-		Next
-	End Sub
-
-	' 一行の文字列を出力
-	Sub WriteLine( value As Object )
-		Dim i As Long
-		For i = 0 To ELM( listeners.Count )
-			Dim listener = listeners[i]
-			listener.WriteLine( value )
-		Next
-	End Sub
-	Sub WriteLine( message As String )
-		Dim i As Long
-		For i = 0 To ELM( listeners.Count )
-			Dim listener = listeners[i]
-			listener.WriteLine( message )
-		Next
-	End Sub
-	Sub WriteLine( value As Object, category As String )
-		Dim i As Long
-		For i = 0 To ELM( listeners.Count )
-			Dim listener = listeners[i]
-			listener.WriteLine( value, category )
-		Next
-	End Sub
-	Sub WriteLine( message As String, category As String )
-		Dim i As Long
-		For i = 0 To ELM( listeners.Count )
-			Dim listener = listeners[i]
-			listener.WriteLine( message, category )
-		Next
-	End Sub
-
-	' 条件をもとに文字列を出力
-	Sub WriteIf( condition As Boolean, value As Object )
-		Dim i As Long
-		For i = 0 To ELM( listeners.Count )
-			Dim listener = listeners[i]
-			listener.WriteIf( condition, value )
-		Next
-	End Sub
-	Sub WriteIf( condition As Boolean, message As String )
-		Dim i As Long
-		For i = 0 To ELM( listeners.Count )
-			Dim listener = listeners[i]
-			listener.WriteIf( condition, message )
-		Next
-	End Sub
-	Sub WriteIf( condition As Boolean, value As Object, category As String )
-		Dim i As Long
-		For i = 0 To ELM( listeners.Count )
-			Dim listener = listeners[i]
-			listener.WriteIf( condition, value, category )
-		Next
-	End Sub
-	Sub WriteIf( condition As Boolean, message As String, category As String )
-		Dim i As Long
-		For i = 0 To ELM( listeners.Count )
-			Dim listener = listeners[i]
-			listener.WriteIf( condition, message, category )
-		Next
-	End Sub
-
-	' 条件をもとに一行の文字列を出力
-	Sub WriteLineIf( condition As Boolean, value As Object )
-		Dim i As Long
-		For i = 0 To ELM( listeners.Count )
-			Dim listener = listeners[i]
-			listener.WriteLineIf( condition, value )
-		Next
-	End Sub
-	Sub WriteLineIf( condition As Boolean, message As String )
-		Dim i As Long
-		For i = 0 To ELM( listeners.Count )
-			Dim listener = listeners[i]
-			listener.WriteLineIf( condition, message )
-		Next
-	End Sub
-	Sub WriteLineIf( condition As Boolean, value As Object, category As String )
-		Dim i As Long
-		For i = 0 To ELM( listeners.Count )
-			Dim listener = listeners[i]
-			listener.WriteLineIf( condition, value, category )
-		Next
-	End Sub
-	Sub WriteLineIf( condition As Boolean, message As String, category As String )
-		Dim i As Long
-		For i = 0 To ELM( listeners.Count )
-			Dim listener = listeners[i]
-			listener.WriteLineIf( condition, message, category )
-		Next
-	End Sub
-
-
-	'----------------------------------------------------------------
-	' パブリック プロパティ
-	'----------------------------------------------------------------
-
-	' IndentLevelプロパティ
-	Function IndentLevel() As Long
-		Return indentLevel
-	End Function
-	Sub IndentLevel( indentLevel As Long )
-		This.indentLevel = indentLevel
-
-		Dim i As Long
-		For i = 0 To ELM( listeners.Count )
-			Dim listener = listeners[i]
-			listener.IndentLevel = indentLevel
-		Next
-	End Sub
-
-	' IndentSizeプロパティ
-	Function IndentSize() As Long
-		Return indentSize
-	End Function
-	Sub IndentSize( size As Long )
-		indentSize = size
-
-		Dim i As Long
-		For i = 0 To ELM( listeners.Count )
-			Dim listener = listeners[i]
-			listener.IndentSize = indentSize
-		Next
-	End Sub
-
-	' Listenersプロパティ
-	Function Listeners() As TraceListenerCollection
-		Return listeners
-	End Function
-
-End Class
-
+Namespace System
+	Namespace Diagnostics
+
+		Class _System_TraceBase
+			indentLevel As Long
+			indentSize As Long
+
+
+			' リスナ管理
+			listeners As TraceListenerCollection
+
+		Public
+
+			' コンストラクタ
+			Sub _System_TraceBase()
+				listeners = New TraceListenerCollection
+				listeners.Add( New DefaultTraceListener() )
+
+				indentLevel = 0
+				indentSize = 4
+			End Sub
+
+			'----------------------------------------------------------------
+			' パブリック メソッド
+			'----------------------------------------------------------------
+
+			' アサート（コールスタックを表示）
+			Sub Assert( condition As Boolean )
+				If condition = False then
+					'TODO: コールスタックを表示
+				End If
+			End Sub
+
+			' アサート（メッセージ文字列を表示）
+			Sub Assert( condition As Boolean, message As String )
+				If condition = False then
+					' TODO: メッセージボックス形式での表示に対応
+					WriteLine( message )
+				End If
+			End Sub
+
+			' アサート（メッセージ文字列と詳細文字列を表示）
+			Sub Assert( condition As Boolean, message As String, detailMessage As String )
+				If condition = False then
+					' TODO: メッセージボックス形式での表示に対応
+					WriteLine( message )
+				End If
+			End Sub
+
+
+			' インデントレベルを上げる
+			Sub Indent()
+				IndentLevel = indentLevel + 1
+			End Sub
+
+			' インデントレベルを下げる
+			Sub Unindent()
+				If indentLevel <= 0 Then
+					indentLevel = 0
+					Return
+				End If
+				IndentLevel = indentLevel - 1
+			End Sub
+
+			' 文字列を出力
+			Sub Write( value As Object )
+				Dim i As Long
+				For i = 0 To ELM( listeners.Count )
+					Dim listener = listeners[i]
+					listener.Write( value )
+				Next
+			End Sub
+			Sub Write( message As String )
+				Dim i As Long
+				For i = 0 To ELM( listeners.Count )
+					Dim listener = listeners[i]
+					listener.Write( message )
+				Next
+			End Sub
+			Sub Write( value As Object, category As String )
+				Dim i As Long
+				For i = 0 To ELM( listeners.Count )
+					Dim listener = listeners[i]
+					listener.Write( value, category )
+				Next
+			End Sub
+			Sub Write( message As String, category As String )
+				Dim i As Long
+				For i = 0 To ELM( listeners.Count )
+					Dim listener = listeners[i]
+					listener.Write( message, category )
+				Next
+			End Sub
+
+			' 一行の文字列を出力
+			Sub WriteLine( value As Object )
+				Dim i As Long
+				For i = 0 To ELM( listeners.Count )
+					Dim listener = listeners[i]
+					listener.WriteLine( value )
+				Next
+			End Sub
+			Sub WriteLine( message As String )
+				Dim i As Long
+				For i = 0 To ELM( listeners.Count )
+					Dim listener = listeners[i]
+					listener.WriteLine( message )
+				Next
+			End Sub
+			Sub WriteLine( value As Object, category As String )
+				Dim i As Long
+				For i = 0 To ELM( listeners.Count )
+					Dim listener = listeners[i]
+					listener.WriteLine( value, category )
+				Next
+			End Sub
+			Sub WriteLine( message As String, category As String )
+				Dim i As Long
+				For i = 0 To ELM( listeners.Count )
+					Dim listener = listeners[i]
+					listener.WriteLine( message, category )
+				Next
+			End Sub
+
+			' 条件をもとに文字列を出力
+			Sub WriteIf( condition As Boolean, value As Object )
+				Dim i As Long
+				For i = 0 To ELM( listeners.Count )
+					Dim listener = listeners[i]
+					listener.WriteIf( condition, value )
+				Next
+			End Sub
+			Sub WriteIf( condition As Boolean, message As String )
+				Dim i As Long
+				For i = 0 To ELM( listeners.Count )
+					Dim listener = listeners[i]
+					listener.WriteIf( condition, message )
+				Next
+			End Sub
+			Sub WriteIf( condition As Boolean, value As Object, category As String )
+				Dim i As Long
+				For i = 0 To ELM( listeners.Count )
+					Dim listener = listeners[i]
+					listener.WriteIf( condition, value, category )
+				Next
+			End Sub
+			Sub WriteIf( condition As Boolean, message As String, category As String )
+				Dim i As Long
+				For i = 0 To ELM( listeners.Count )
+					Dim listener = listeners[i]
+					listener.WriteIf( condition, message, category )
+				Next
+			End Sub
+
+			' 条件をもとに一行の文字列を出力
+			Sub WriteLineIf( condition As Boolean, value As Object )
+				Dim i As Long
+				For i = 0 To ELM( listeners.Count )
+					Dim listener = listeners[i]
+					listener.WriteLineIf( condition, value )
+				Next
+			End Sub
+			Sub WriteLineIf( condition As Boolean, message As String )
+				Dim i As Long
+				For i = 0 To ELM( listeners.Count )
+					Dim listener = listeners[i]
+					listener.WriteLineIf( condition, message )
+				Next
+			End Sub
+			Sub WriteLineIf( condition As Boolean, value As Object, category As String )
+				Dim i As Long
+				For i = 0 To ELM( listeners.Count )
+					Dim listener = listeners[i]
+					listener.WriteLineIf( condition, value, category )
+				Next
+			End Sub
+			Sub WriteLineIf( condition As Boolean, message As String, category As String )
+				Dim i As Long
+				For i = 0 To ELM( listeners.Count )
+					Dim listener = listeners[i]
+					listener.WriteLineIf( condition, message, category )
+				Next
+			End Sub
+
+
+			'----------------------------------------------------------------
+			' パブリック プロパティ
+			'----------------------------------------------------------------
+
+			' IndentLevelプロパティ
+			Function IndentLevel() As Long
+				Return indentLevel
+			End Function
+			Sub IndentLevel( indentLevel As Long )
+				This.indentLevel = indentLevel
+
+				Dim i As Long
+				For i = 0 To ELM( listeners.Count )
+					Dim listener = listeners[i]
+					listener.IndentLevel = indentLevel
+				Next
+			End Sub
+
+			' IndentSizeプロパティ
+			Function IndentSize() As Long
+				Return indentSize
+			End Function
+			Sub IndentSize( size As Long )
+				indentSize = size
+
+				Dim i As Long
+				For i = 0 To ELM( listeners.Count )
+					Dim listener = listeners[i]
+					listener.IndentSize = indentSize
+				Next
+			End Sub
+
+			' Listenersプロパティ
+			Function Listeners() As TraceListenerCollection
+				Return listeners
+			End Function
+
+		End Class
+
+	End Namespace
+End Namespace
