nicko 2005/02/06 20:05:50
Modified: src/Util PropertiesDictionary.cs ProtectCloseTextWriter.cs
QuietTextWriter.cs ReadOnlyPropertiesDictionary.cs
ReaderWriterLock.cs ReusableStringWriter.cs
SystemInfo.cs TextWriterAdapter.cs
ThreadContextList.cs ThreadContextLists.cs
ThreadContextProperties.cs ThreadContextStack.cs
ThreadContextStacks.cs Transform.cs
WindowsSecurityContext.cs
Log:
Tidied up doc comments
Revision Changes Path
1.9 +75 -8 logging-log4net/src/Util/PropertiesDictionary.cs
Index: PropertiesDictionary.cs
===================================================================
RCS file: /home/cvs/logging-log4net/src/Util/PropertiesDictionary.cs,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- PropertiesDictionary.cs 17 Jan 2005 20:18:48 -0000 1.8
+++ PropertiesDictionary.cs 7 Feb 2005 04:05:50 -0000 1.9
@@ -29,8 +29,11 @@
/// String keyed object map.
/// </summary>
/// <remarks>
- /// Only member objects that are serializable will
+ /// <para>
+ /// While this collection is serializable only member
+ /// objects that are serializable will
/// be serialized along with this collection.
+ /// </para>
/// </remarks>
/// <author>Nicko Cadell</author>
/// <author>Gert Driesen</author>
@@ -43,16 +46,26 @@
#region Public Instance Constructors
/// <summary>
- /// Initializes a new instance of the <see
cref="PropertiesDictionary" /> class.
+ /// Constructor
/// </summary>
+ /// <remarks>
+ /// <para>
+ /// Initializes a new instance of the <see
cref="PropertiesDictionary" /> class.
+ /// </para>
+ /// </remarks>
public PropertiesDictionary()
{
}
/// <summary>
- /// Initializes a new instance of the <see
cref="PropertiesDictionary" /> class.
+ /// Constructor
/// </summary>
/// <param name="propertiesDictionary">properties to
copy</param>
+ /// <remarks>
+ /// <para>
+ /// Initializes a new instance of the <see
cref="PropertiesDictionary" /> class.
+ /// </para>
+ /// </remarks>
public PropertiesDictionary(ReadOnlyPropertiesDictionary
propertiesDictionary) : base(propertiesDictionary)
{
}
@@ -69,7 +82,9 @@
/// <param name="info">The <see cref="SerializationInfo" />
that holds the serialized object data.</param>
/// <param name="context">The <see cref="StreamingContext" />
that contains contextual information about the source or destination.</param>
/// <remarks>
+ /// <para>
/// Because this class is sealed the serialization constructor
is private.
+ /// </para>
/// </remarks>
private PropertiesDictionary(SerializationInfo info,
StreamingContext context) : base(info, context)
{
@@ -88,9 +103,11 @@
/// </value>
/// <param name="key">The key of the property to get or
set.</param>
/// <remarks>
+ /// <para>
/// The property value will only be serialized if it is
serializable.
/// If it cannot be serialized it will be silently ignored if
/// a serialization operation is performed.
+ /// </para>
/// </remarks>
override public object this[string key]
{
@@ -106,6 +123,11 @@
/// Remove the entry with the specified key from this dictionary
/// </summary>
/// <param name="key">the key for the entry to remove</param>
+ /// <remarks>
+ /// <para>
+ /// Remove the entry with the specified key from this dictionary
+ /// </para>
+ /// </remarks>
public void Remove(string key)
{
InnerHashtable.Remove(key);
@@ -118,6 +140,12 @@
/// <summary>
/// See <see cref="IDictionary.GetEnumerator"/>
/// </summary>
+ /// <returns>an enumerator</returns>
+ /// <remarks>
+ /// <para>
+ /// Returns a <see cref="IDictionaryEnumerator"/> over the
contest of this collection.
+ /// </para>
+ /// </remarks>
IDictionaryEnumerator IDictionary.GetEnumerator()
{
return InnerHashtable.GetEnumerator();
@@ -126,7 +154,12 @@
/// <summary>
/// See <see cref="IDictionary.Remove"/>
/// </summary>
- /// <param name="key"></param>
+ /// <param name="key">the key to remove</param>
+ /// <remarks>
+ /// <para>
+ /// Remove the entry with the specified key from this dictionary
+ /// </para>
+ /// </remarks>
void IDictionary.Remove(object key)
{
InnerHashtable.Remove(key);
@@ -135,8 +168,13 @@
/// <summary>
/// See <see cref="IDictionary.Contains"/>
/// </summary>
- /// <param name="key"></param>
- /// <returns></returns>
+ /// <param name="key">the key to lookup in the
collection</param>
+ /// <returns><c>true</c> if the collection contains the
specified key</returns>
+ /// <remarks>
+ /// <para>
+ /// Test if this collection contains a specified key.
+ /// </para>
+ /// </remarks>
bool IDictionary.Contains(object key)
{
return InnerHashtable.Contains(key);
@@ -145,6 +183,11 @@
/// <summary>
/// Remove all properties from the properties collection
/// </summary>
+ /// <remarks>
+ /// <para>
+ /// Remove all properties from the properties collection
+ /// </para>
+ /// </remarks>
public override void Clear()
{
InnerHashtable.Clear();
@@ -153,8 +196,14 @@
/// <summary>
/// See <see cref="IDictionary.Add"/>
/// </summary>
- /// <param name="key"></param>
- /// <param name="value"></param>
+ /// <param name="key">the key</param>
+ /// <param name="value">the value to store for the key</param>
+ /// <remarks>
+ /// <para>
+ /// Store a value for the specified <see cref="String"/>
<paramref name="key"/>.
+ /// </para>
+ /// </remarks>
+ /// <exception cref="ArgumentException">Thrown if the <paramref
name="key"/> is not a string</exception>
void IDictionary.Add(object key, object value)
{
if (!(key is string))
@@ -167,6 +216,15 @@
/// <summary>
/// See <see cref="IDictionary.IsReadOnly"/>
/// </summary>
+ /// <value>
+ /// <c>false</c>
+ /// </value>
+ /// <remarks>
+ /// <para>
+ /// This collection is modifiable. This property always
+ /// returns <c>false</c>.
+ /// </para>
+ /// </remarks>
bool IDictionary.IsReadOnly
{
get { return false; }
@@ -175,6 +233,15 @@
/// <summary>
/// See <see cref="IDictionary.this"/>
/// </summary>
+ /// <value>
+ /// The value for the key specified.
+ /// </value>
+ /// <remarks>
+ /// <para>
+ /// Get or set a value for the specified <see cref="String"/>
<paramref name="key"/>.
+ /// </para>
+ /// </remarks>
+ /// <exception cref="ArgumentException">Thrown if the <paramref
name="key"/> is not a string</exception>
object IDictionary.this[object key]
{
get
1.5 +21 -3 logging-log4net/src/Util/ProtectCloseTextWriter.cs
Index: ProtectCloseTextWriter.cs
===================================================================
RCS file: /home/cvs/logging-log4net/src/Util/ProtectCloseTextWriter.cs,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- ProtectCloseTextWriter.cs 17 Jan 2005 20:18:48 -0000 1.4
+++ ProtectCloseTextWriter.cs 7 Feb 2005 04:05:50 -0000 1.5
@@ -28,8 +28,10 @@
/// A <see cref="TextWriter"/> that ignores the <see cref="Close"/>
message
/// </summary>
/// <remarks>
- /// Used in special cases where it is necessary to protect a writer
- /// from being closed by a client.
+ /// <para>
+ /// This writer is used in special cases where it is necessary
+ /// to protect a writer from being closed by a client.
+ /// </para>
/// </remarks>
/// <author>Nicko Cadell</author>
public class ProtectCloseTextWriter : TextWriterAdapter
@@ -37,9 +39,14 @@
#region Public Instance Constructors
/// <summary>
- /// Create a new ProtectCloseTextWriter using a writer
+ /// Constructor
/// </summary>
/// <param name="writer">the writer to actually write to</param>
+ /// <remarks>
+ /// <para>
+ /// Create a new ProtectCloseTextWriter using a writer
+ /// </para>
+ /// </remarks>
public ProtectCloseTextWriter(TextWriter writer) : base(writer)
{
}
@@ -52,6 +59,11 @@
/// Attach this instance to a different underlying <see
cref="TextWriter"/>
/// </summary>
/// <param name="writer">the writer to attach to</param>
+ /// <remarks>
+ /// <para>
+ /// Attach this instance to a different underlying <see
cref="TextWriter"/>
+ /// </para>
+ /// </remarks>
public void Attach(TextWriter writer)
{
this.Writer = writer;
@@ -64,6 +76,12 @@
/// <summary>
/// Does not close the underlying output writer.
/// </summary>
+ /// <remarks>
+ /// <para>
+ /// Does not close the underlying output writer.
+ /// This method does nothing.
+ /// </para>
+ /// </remarks>
override public void Close()
{
// do nothing
1.5 +45 -6 logging-log4net/src/Util/QuietTextWriter.cs
Index: QuietTextWriter.cs
===================================================================
RCS file: /home/cvs/logging-log4net/src/Util/QuietTextWriter.cs,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- QuietTextWriter.cs 17 Jan 2005 20:18:48 -0000 1.4
+++ QuietTextWriter.cs 7 Feb 2005 04:05:50 -0000 1.5
@@ -24,9 +24,14 @@
namespace log4net.Util
{
/// <summary>
- /// QuietTextWriter does not throw exceptions when things go wrong.
- /// Instead, it delegates error handling to its <see
cref="IErrorHandler"/>.
+ /// <see cref="TextWriter"/> that does not leak exceptions
/// </summary>
+ /// <remarks>
+ /// <para>
+ /// <see cref="QuietTextWriter"/> does not throw exceptions when things
go wrong.
+ /// Instead, it delegates error handling to its <see
cref="IErrorHandler"/>.
+ /// </para>
+ /// </remarks>
/// <author>Nicko Cadell</author>
/// <author>Gert Driesen</author>
public class QuietTextWriter : TextWriterAdapter
@@ -34,10 +39,15 @@
#region Public Instance Constructors
/// <summary>
- /// Create a new QuietTextWriter using a writer and error
handler
+ /// Constructor
/// </summary>
/// <param name="writer">the writer to actually write to</param>
/// <param name="errorHandler">the error handler to report
error to</param>
+ /// <remarks>
+ /// <para>
+ /// Create a new QuietTextWriter using a writer and error
handler
+ /// </para>
+ /// </remarks>
public QuietTextWriter(TextWriter writer, IErrorHandler
errorHandler) : base(writer)
{
if (errorHandler == null)
@@ -52,12 +62,16 @@
#region Public Instance Properties
/// <summary>
- /// Gets or sets the error handler that all errors are
- /// passed to.
+ /// Gets or sets the error handler that all errors are passed
to.
/// </summary>
/// <value>
/// The error handler that all errors are passed to.
/// </value>
+ /// <remarks>
+ /// <para>
+ /// Gets or sets the error handler that all errors are passed
to.
+ /// </para>
+ /// </remarks>
public IErrorHandler ErrorHandler
{
get { return m_errorHandler; }
@@ -78,6 +92,11 @@
/// <value>
/// <c>true</c> if this writer is closed, otherwise
<c>false</c>.
/// </value>
+ /// <remarks>
+ /// <para>
+ /// Gets a value indicating whether this writer is closed.
+ /// </para>
+ /// </remarks>
public bool Closed
{
get { return m_closed; }
@@ -90,7 +109,12 @@
/// <summary>
/// Writes a character to the underlying writer
/// </summary>
- /// <param name="value"></param>
+ /// <param name="value">the char to write</param>
+ /// <remarks>
+ /// <para>
+ /// Writes a character to the underlying writer
+ /// </para>
+ /// </remarks>
public override void Write(char value)
{
try
@@ -109,6 +133,11 @@
/// <param name="buffer">the buffer to write</param>
/// <param name="index">the start index to write from</param>
/// <param name="count">the number of characters to
write</param>
+ /// <remarks>
+ /// <para>
+ /// Writes a buffer to the underlying writer
+ /// </para>
+ /// </remarks>
public override void Write(char[] buffer, int index, int count)
{
try
@@ -125,6 +154,11 @@
/// Writes a string to the output.
/// </summary>
/// <param name="value">The string data to write to the
output.</param>
+ /// <remarks>
+ /// <para>
+ /// Writes a string to the output.
+ /// </para>
+ /// </remarks>
override public void Write(string value)
{
try
@@ -140,6 +174,11 @@
/// <summary>
/// Closes the underlying output writer.
/// </summary>
+ /// <remarks>
+ /// <para>
+ /// Closes the underlying output writer.
+ /// </para>
+ /// </remarks>
override public void Close()
{
m_closed = true;
1.5 +54 -7 logging-log4net/src/Util/ReadOnlyPropertiesDictionary.cs
Index: ReadOnlyPropertiesDictionary.cs
===================================================================
RCS file: /home/cvs/logging-log4net/src/Util/ReadOnlyPropertiesDictionary.cs,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- ReadOnlyPropertiesDictionary.cs 17 Jan 2005 20:18:48 -0000 1.4
+++ ReadOnlyPropertiesDictionary.cs 7 Feb 2005 04:05:50 -0000 1.5
@@ -29,8 +29,14 @@
/// String keyed object map that is read only.
/// </summary>
/// <remarks>
- /// Only member objects that are serializable will
+ /// <para>
+ /// This collection is readonly and cannot be modified.
+ /// </para>
+ /// <para>
+ /// While this collection is serializable only member
+ /// objects that are serializable will
/// be serialized along with this collection.
+ /// </para>
/// </remarks>
/// <author>Nicko Cadell</author>
/// <author>Gert Driesen</author>
@@ -52,16 +58,26 @@
#region Public Instance Constructors
/// <summary>
- /// Initializes a new instance of the <see
cref="ReadOnlyPropertiesDictionary" /> class.
+ /// Constructor
/// </summary>
+ /// <remarks>
+ /// <para>
+ /// Initializes a new instance of the <see
cref="ReadOnlyPropertiesDictionary" /> class.
+ /// </para>
+ /// </remarks>
public ReadOnlyPropertiesDictionary()
{
}
/// <summary>
- /// Initializes a new instance of the <see
cref="ReadOnlyPropertiesDictionary" /> class.
+ /// Copy Constructor
/// </summary>
/// <param name="propertiesDictionary">properties to
copy</param>
+ /// <remarks>
+ /// <para>
+ /// Initializes a new instance of the <see
cref="ReadOnlyPropertiesDictionary" /> class.
+ /// </para>
+ /// </remarks>
public
ReadOnlyPropertiesDictionary(ReadOnlyPropertiesDictionary propertiesDictionary)
{
foreach(DictionaryEntry entry in propertiesDictionary)
@@ -76,11 +92,16 @@
#if !NETCF
/// <summary>
- /// Initializes a new instance of the <see
cref="ReadOnlyPropertiesDictionary" /> class
- /// with serialized data.
+ /// Deserialization constructor
/// </summary>
/// <param name="info">The <see cref="SerializationInfo" />
that holds the serialized object data.</param>
/// <param name="context">The <see cref="StreamingContext" />
that contains contextual information about the source or destination.</param>
+ /// <remarks>
+ /// <para>
+ /// Initializes a new instance of the <see
cref="ReadOnlyPropertiesDictionary" /> class
+ /// with serialized data.
+ /// </para>
+ /// </remarks>
protected ReadOnlyPropertiesDictionary(SerializationInfo info,
StreamingContext context)
{
foreach(SerializationEntry entry in info)
@@ -98,8 +119,12 @@
/// <summary>
/// Gets the key names.
/// </summary>
- /// <value>An array of key names.</value>
/// <returns>An array of all the keys.</returns>
+ /// <remarks>
+ /// <para>
+ /// Gets the key names.
+ /// </para>
+ /// </remarks>
public string[] GetKeys()
{
string[] keys = new String[InnerHashtable.Count];
@@ -115,9 +140,11 @@
/// </value>
/// <param name="key">The key of the property to get or
set.</param>
/// <remarks>
+ /// <para>
/// The property value will only be serialized if it is
serializable.
/// If it cannot be serialized it will be silently ignored if
/// a serialization operation is performed.
+ /// </para>
/// </remarks>
public virtual object this[string key]
{
@@ -134,6 +161,11 @@
/// </summary>
/// <param name="key">the key to look for</param>
/// <returns>true if the dictionary contains the specified
key</returns>
+ /// <remarks>
+ /// <para>
+ /// Test if the dictionary contains a specified key
+ /// </para>
+ /// </remarks>
public bool Contains(string key)
{
return InnerHashtable.Contains(key);
@@ -144,6 +176,14 @@
/// <summary>
/// The hashtable used to store the properties
/// </summary>
+ /// <value>
+ /// The internal collection used to store the properties
+ /// </value>
+ /// <remarks>
+ /// <para>
+ /// The hashtable used to store the properties
+ /// </para>
+ /// </remarks>
protected Hashtable InnerHashtable
{
get { return m_hashtable; }
@@ -157,6 +197,11 @@
/// </summary>
/// <param name="info">The <see cref="SerializationInfo" /> to
populate with data.</param>
/// <param name="context">The destination for this
serialization.</param>
+ /// <remarks>
+ /// <para>
+ /// Serializes this object into the <see
cref="SerializationInfo" /> provided.
+ /// </para>
+ /// </remarks>
[System.Security.Permissions.SecurityPermissionAttribute(System.Security.Permissions.SecurityAction.Demand,
SerializationFormatter=true)]
public virtual void GetObjectData(SerializationInfo info,
StreamingContext context)
{
@@ -166,7 +211,9 @@
if (entry.Value.GetType().IsSerializable)
{
// Store the keys as an Xml encoded
local name as it may contain colons (':')
- // which are not escaped by the Xml
Serialization framework
+ // which are NOT escaped by the Xml
Serialization framework.
+ // This must be a bug in the
serialization framework as we cannot be expected
+ // to know the implementation details
of all the possible transport layers.
info.AddValue(XmlConvert.EncodeLocalName(entry.Key as string), entry.Value);
}
}
1.5 +23 -10 logging-log4net/src/Util/ReaderWriterLock.cs
Index: ReaderWriterLock.cs
===================================================================
RCS file: /home/cvs/logging-log4net/src/Util/ReaderWriterLock.cs,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- ReaderWriterLock.cs 17 Jan 2005 20:18:48 -0000 1.4
+++ ReaderWriterLock.cs 7 Feb 2005 04:05:50 -0000 1.5
@@ -37,9 +37,9 @@
/// one-at-a-time lock, such as <see cref="System.Threading.Monitor"/>.
/// </para>
/// <para>
- /// If a platform does not support a ReaderWriterLock implementation
- /// then all readers and writers are serialized. Therefore the caller
- /// must not rely on multiple simultaneous readers.
+ /// If a platform does not support a
<c>System.Threading.ReaderWriterLock</c>
+ /// implementation then all readers and writers are serialized.
Therefore
+ /// the caller must not rely on multiple simultaneous readers.
/// </para>
/// </remarks>
/// <author>Nicko Cadell</author>
@@ -48,8 +48,13 @@
#region Instance Constructors
/// <summary>
- /// Initializes a new instance of the <see
cref="ReaderWriterLock" /> class.
+ /// Constructor
/// </summary>
+ /// <remarks>
+ /// <para>
+ /// Initializes a new instance of the <see
cref="ReaderWriterLock" /> class.
+ /// </para>
+ /// </remarks>
public ReaderWriterLock()
{
#if HAS_READERWRITERLOCK
@@ -65,8 +70,10 @@
/// Acquires a reader lock
/// </summary>
/// <remarks>
- /// AcquireReaderLock blocks if a different thread has the
writer
- /// lock, or if at least one thread is waiting for the writer
lock
+ /// <para>
+ /// <see cref="AcquireReaderLock"/> blocks if a different
thread has the writer
+ /// lock, or if at least one thread is waiting for the writer
lock.
+ /// </para>
/// </remarks>
public void AcquireReaderLock()
{
@@ -81,8 +88,10 @@
/// Decrements the lock count
/// </summary>
/// <remarks>
- /// ReleaseReaderLock decrements the lock count. When the count
- /// reaches zero, the lock is released
+ /// <para>
+ /// <see cref="ReleaseReaderLock"/> decrements the lock count.
When the count
+ /// reaches zero, the lock is released.
+ /// </para>
/// </remarks>
public void ReleaseReaderLock()
{
@@ -97,7 +106,9 @@
/// Acquires the writer lock
/// </summary>
/// <remarks>
- /// This method blocks if another thread has a reader lock or
writer lock
+ /// <para>
+ /// This method blocks if another thread has a reader lock or
writer lock.
+ /// </para>
/// </remarks>
public void AcquireWriterLock()
{
@@ -112,8 +123,10 @@
/// Decrements the lock count on the writer lock
/// </summary>
/// <remarks>
+ /// <para>
/// ReleaseWriterLock decrements the writer lock count.
- /// When the count reaches zero, the writer lock is released
+ /// When the count reaches zero, the writer lock is released.
+ /// </para>
/// </remarks>
public void ReleaseWriterLock()
{
1.5 +27 -2 logging-log4net/src/Util/ReusableStringWriter.cs
Index: ReusableStringWriter.cs
===================================================================
RCS file: /home/cvs/logging-log4net/src/Util/ReusableStringWriter.cs,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- ReusableStringWriter.cs 17 Jan 2005 20:18:48 -0000 1.4
+++ ReusableStringWriter.cs 7 Feb 2005 04:05:50 -0000 1.5
@@ -23,23 +23,43 @@
namespace log4net.Util
{
/// <summary>
- /// A StringWriter that can be <see cref="Reset"/> and reused
+ /// A <see cref="StringWriter"/> that can be <see cref="Reset"/> and
reused
/// </summary>
+ /// <remarks>
+ /// <para>
+ /// A <see cref="StringWriter"/> that can be <see cref="Reset"/> and
reused.
+ /// This uses a single buffer for string operations.
+ /// </para>
+ /// </remarks>
/// <author>Nicko Cadell</author>
public class ReusableStringWriter : StringWriter
{
+ #region Constructor
+
/// <summary>
/// Create an instance of <see cref="ReusableStringWriter"/>
/// </summary>
/// <param name="formatProvider">the format provider to
use</param>
+ /// <remarks>
+ /// <para>
+ /// Create an instance of <see cref="ReusableStringWriter"/>
+ /// </para>
+ /// </remarks>
public ReusableStringWriter(IFormatProvider formatProvider) :
base(formatProvider)
{
}
+ #endregion
+
/// <summary>
/// Override Dispose to prevent closing of writer
/// </summary>
/// <param name="disposing">flag</param>
+ /// <remarks>
+ /// <para>
+ /// Override Dispose to prevent closing of writer
+ /// </para>
+ /// </remarks>
protected override void Dispose(bool disposing)
{
// Do not close the writer
@@ -47,10 +67,15 @@
/// <summary>
/// Reset this string writer so that it can be reused.
- /// The internal buffers are cleared and reset.
/// </summary>
/// <param name="maxCapacity">the maximum buffer capacity
before it is trimmed</param>
/// <param name="defaultSize">the default size to make the
buffer</param>
+ /// <remarks>
+ /// <para>
+ /// Reset this string writer so that it can be reused.
+ /// The internal buffers are cleared and reset.
+ /// </para>
+ /// </remarks>
public void Reset(int maxCapacity, int defaultSize)
{
// Reset working string buffer
1.9 +69 -14 logging-log4net/src/Util/SystemInfo.cs
Index: SystemInfo.cs
===================================================================
RCS file: /home/cvs/logging-log4net/src/Util/SystemInfo.cs,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- SystemInfo.cs 17 Jan 2005 20:18:48 -0000 1.8
+++ SystemInfo.cs 7 Feb 2005 04:05:50 -0000 1.9
@@ -26,6 +26,11 @@
/// <summary>
/// Utility class for system specific information.
/// </summary>
+ /// <remarks>
+ /// <para>
+ /// Utility class of static methods for system specific information.
+ /// </para>
+ /// </remarks>
/// <author>Nicko Cadell</author>
/// <author>Gert Driesen</author>
/// <author>Alexey Solofnenko</author>
@@ -36,6 +41,11 @@
/// <summary>
/// Private constructor to prevent instances.
/// </summary>
+ /// <remarks>
+ /// <para>
+ /// Only static methods are exposed from this type.
+ /// </para>
+ /// </remarks>
private SystemInfo()
{
}
@@ -50,6 +60,11 @@
/// <value>
/// The system dependent line terminator.
/// </value>
+ /// <remarks>
+ /// <para>
+ /// Gets the system dependent line terminator.
+ /// </para>
+ /// </remarks>
public static string NewLine
{
get
@@ -66,6 +81,11 @@
/// Gets the base directory for this <see cref="AppDomain"/>.
/// </summary>
/// <value>The base directory path for the current <see
cref="AppDomain"/>.</value>
+ /// <remarks>
+ /// <para>
+ /// Gets the base directory for this <see cref="AppDomain"/>.
+ /// </para>
+ /// </remarks>
public static string ApplicationBaseDirectory
{
get
@@ -83,9 +103,11 @@
/// </summary>
/// <value>The path to the configuration file for the current
<see cref="AppDomain"/>.</value>
/// <remarks>
+ /// <para>
/// The .NET Compact Framework 1.0 does not have a concept of a
configuration
/// file. For this runtime, we use the entry assembly location
as the root for
/// the configuration file name.
+ /// </para>
/// </remarks>
public static string ConfigurationFileLocation
{
@@ -103,6 +125,11 @@
/// Gets the path to the file that first executed in the
current <see cref="AppDomain"/>.
/// </summary>
/// <value>The path to the entry assembly.</value>
+ /// <remarks>
+ /// <para>
+ /// Gets the path to the file that first executed in the
current <see cref="AppDomain"/>.
+ /// </para>
+ /// </remarks>
public static string EntryAssemblyLocation
{
get
@@ -148,11 +175,19 @@
/// Get the host name or machine name for the current machine
/// </summary>
/// <value>
+ /// The hostname or machine name
+ /// </value>
+ /// <remarks>
+ /// <para>
+ /// Get the host name or machine name for the current machine
+ /// </para>
+ /// <para>
/// The host name (<see cref="System.Net.Dns.GetHostName"/>) or
/// the machine name (<c>Environment.MachineName</c>) for
/// the current machine, or if neither of these are available
/// then <c>NOT AVAILABLE</c> is returned.
- /// </value>
+ /// </para>
+ /// </remarks>
public static string HostName
{
get
@@ -215,7 +250,9 @@
/// If available the name of the application is retrieved from
/// the <c>AppDomain</c> using
<c>AppDomain.CurrentDomain.FriendlyName</c>.
/// </para>
- /// <para>Otherwise the file name of the entry assembly is
used.</para>
+ /// <para>
+ /// Otherwise the file name of the entry assembly is used.
+ /// </para>
/// </remarks>
public static string ApplicationFriendlyName
{
@@ -311,12 +348,14 @@
/// Gets the assembly location path for the specified assembly.
/// </summary>
/// <param name="myAssembly">The assembly to get the location
for.</param>
+ /// <returns>The location of the assembly.</returns>
/// <remarks>
+ /// <para>
/// This method does not guarantee to return the correct path
/// to the assembly. If only tries to give an indication as to
/// where the assembly was loaded from.
+ /// </para>
/// </remarks>
- /// <returns>The location of the assembly.</returns>
public static string AssemblyLocationInfo(Assembly myAssembly)
{
#if NETCF
@@ -349,12 +388,14 @@
/// loaded.
/// </summary>
/// <param name="type">The <see cref="Type" /> to get the fully
qualified name for.</param>
+ /// <returns>The fully qualified name for the <see cref="Type"
/>.</returns>
/// <remarks>
+ /// <para>
/// This is equivalent to the <c>Type.AssemblyQualifiedName</c>
property,
/// but this method works on the .NET Compact Framework 1.0 as
well as
/// the full .NET runtime.
+ /// </para>
/// </remarks>
- /// <returns>The fully qualified name for the <see cref="Type"
/>.</returns>
public static string AssemblyQualifiedName(Type type)
{
return type.FullName + ", " + type.Assembly.FullName;
@@ -364,6 +405,7 @@
/// Gets the short name of the <see cref="Assembly" />.
/// </summary>
/// <param name="myAssembly">The <see cref="Assembly" /> to get
the name for.</param>
+ /// <returns>The short name of the <see cref="Assembly"
/>.</returns>
/// <remarks>
/// <para>
/// The short name of the assembly is the <see
cref="Assembly.FullName" />
@@ -371,7 +413,7 @@
/// assembly's file name without the extension.
/// </para>
/// <para>
- /// Use this rather than Assembly.GetName().Name because that
+ /// Use this rather than <c>Assembly.GetName().Name</c> because
that
/// is not available on the Compact Framework.
/// </para>
/// <para>
@@ -381,7 +423,6 @@
/// start from there and strip out just the assembly name.
/// </para>
/// </remarks>
- /// <returns>The short name of the <see cref="Assembly"
/>.</returns>
public static string AssemblyShortName(Assembly myAssembly)
{
string name = myAssembly.FullName;
@@ -398,11 +439,15 @@
}
/// <summary>
- /// Gets the file name portion of the <see cref="Assembly" />,
including
- /// the extension.
+ /// Gets the file name portion of the <see cref="Assembly" />,
including the extension.
/// </summary>
/// <param name="myAssembly">The <see cref="Assembly" /> to get
the file name for.</param>
/// <returns>The file name of the assembly.</returns>
+ /// <remarks>
+ /// <para>
+ /// Gets the file name portion of the <see cref="Assembly" />,
including the extension.
+ /// </para>
+ /// </remarks>
public static string AssemblyFileName(Assembly myAssembly)
{
#if NETCF
@@ -435,6 +480,7 @@
/// <param name="typeName">The name of the type to load.</param>
/// <param name="throwOnError">Flag set to <c>true</c> to throw
an exception if the type cannot be loaded.</param>
/// <param name="ignoreCase"><c>true</c> to ignore the case of
the type name; otherwise, <c>false</c></param>
+ /// <returns>The type loaded or <c>null</c> if it could not be
loaded.</returns>
/// <remarks>
/// <para>
/// If the type name is fully qualified, i.e. if contains an
assembly name in
@@ -447,7 +493,6 @@
/// then all the loaded assemblies will be searched for the
type.
/// </para>
/// </remarks>
- /// <returns>The type loaded or <c>null</c> if it could not be
loaded.</returns>
public static Type GetTypeFromString(Type relativeType, string
typeName, bool throwOnError, bool ignoreCase)
{
return GetTypeFromString(relativeType.Assembly,
typeName, throwOnError, ignoreCase);
@@ -459,6 +504,7 @@
/// <param name="typeName">The name of the type to load.</param>
/// <param name="throwOnError">Flag set to <c>true</c> to throw
an exception if the type cannot be loaded.</param>
/// <param name="ignoreCase"><c>true</c> to ignore the case of
the type name; otherwise, <c>false</c></param>
+ /// <returns>The type loaded or <c>null</c> if it could not be
loaded.</returns>
/// <remarks>
/// <para>
/// If the type name is fully qualified, i.e. if contains an
assembly name in
@@ -471,7 +517,6 @@
/// in the assembly then all the loaded assemblies will be
searched for the type.
/// </para>
/// </remarks>
- /// <returns>The type loaded or <c>null</c> if it could not be
loaded.</returns>
public static Type GetTypeFromString(string typeName, bool
throwOnError, bool ignoreCase)
{
return GetTypeFromString(Assembly.GetCallingAssembly(),
typeName, throwOnError, ignoreCase);
@@ -484,6 +529,7 @@
/// <param name="typeName">The name of the type to load.</param>
/// <param name="throwOnError">Flag set to <c>true</c> to throw
an exception if the type cannot be loaded.</param>
/// <param name="ignoreCase"><c>true</c> to ignore the case of
the type name; otherwise, <c>false</c></param>
+ /// <returns>The type loaded or <c>null</c> if it could not be
loaded.</returns>
/// <remarks>
/// <para>
/// If the type name is fully qualified, i.e. if contains an
assembly name in
@@ -496,7 +542,6 @@
/// will be searched for the type.
/// </para>
/// </remarks>
- /// <returns>The type loaded or <c>null</c> if it could not be
loaded.</returns>
public static Type GetTypeFromString(Assembly relativeAssembly,
string typeName, bool throwOnError, bool ignoreCase)
{
// Check if the type name specifies the assembly name
@@ -565,6 +610,11 @@
/// Generate a new guid
/// </summary>
/// <returns>A new Guid</returns>
+ /// <remarks>
+ /// <para>
+ /// Generate a new guid
+ /// </para>
+ /// </remarks>
public static Guid NewGuid()
{
#if NETCF
@@ -575,9 +625,7 @@
}
/// <summary>
- /// Create a new instance of the <see
cref="ArgumentOutOfRangeException"/> class
- /// with a specified error message, the parameter name, and the
value
- /// of the argument.
+ /// Create an <see cref="ArgumentOutOfRangeException"/>
/// </summary>
/// <param name="parameterName">The name of the parameter that
caused the exception</param>
/// <param name="actualValue">The value of the argument that
causes this exception</param>
@@ -585,6 +633,11 @@
/// <returns>the ArgumentOutOfRangeException object</returns>
/// <remarks>
/// <para>
+ /// Create a new instance of the <see
cref="ArgumentOutOfRangeException"/> class
+ /// with a specified error message, the parameter name, and the
value
+ /// of the argument.
+ /// </para>
+ /// <para>
/// The Compact Framework does not support the 3 parameter
constructor for the
/// <see cref="ArgumentOutOfRangeException"/> type. This method
provides an
/// implementation that works for all platforms.
@@ -648,8 +701,10 @@
/// Gets an empty array of types.
/// </summary>
/// <remarks>
+ /// <para>
/// The <c>Type.EmptyTypes</c> field is not available on
/// the .NET Compact Framework 1.0.
+ /// </para>
/// </remarks>
public static readonly Type[] EmptyTypes = new Type[0];
1.4 +73 -3 logging-log4net/src/Util/TextWriterAdapter.cs
Index: TextWriterAdapter.cs
===================================================================
RCS file: /home/cvs/logging-log4net/src/Util/TextWriterAdapter.cs,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- TextWriterAdapter.cs 17 Jan 2005 20:18:48 -0000 1.3
+++ TextWriterAdapter.cs 7 Feb 2005 04:05:50 -0000 1.4
@@ -27,10 +27,16 @@
/// Adapter that extends <see cref="TextWriter"/> and forwards all
/// messages to an instance of <see cref="TextWriter"/>.
/// </summary>
+ /// <remarks>
+ /// <para>
+ /// Adapter that extends <see cref="TextWriter"/> and forwards all
+ /// messages to an instance of <see cref="TextWriter"/>.
+ /// </para>
+ /// </remarks>
/// <author>Nicko Cadell</author>
public abstract class TextWriterAdapter : TextWriter
{
- #region Protected Member Variables
+ #region Private Member Variables
/// <summary>
/// The writer to forward messages to
@@ -46,6 +52,12 @@
/// messages to a <see cref="TextWriter"/>.
/// </summary>
/// <param name="writer">The <see cref="TextWriter"/> to
forward to</param>
+ /// <remarks>
+ /// <para>
+ /// Create an instance of <see cref="TextWriterAdapter"/> that
forwards all
+ /// messages to a <see cref="TextWriter"/>.
+ /// </para>
+ /// </remarks>
protected TextWriterAdapter(TextWriter writer) :
base(CultureInfo.InvariantCulture)
{
m_writer = writer;
@@ -56,11 +68,16 @@
#region Protected Instance Properties
/// <summary>
- /// Gets the underlying <see cref="TextWriter" />.
+ /// Gets or sets the underlying <see cref="TextWriter" />.
/// </summary>
/// <value>
/// The underlying <see cref="TextWriter" />.
/// </value>
+ /// <remarks>
+ /// <para>
+ /// Gets or sets the underlying <see cref="TextWriter" />.
+ /// </para>
+ /// </remarks>
protected TextWriter Writer
{
get { return m_writer; }
@@ -74,6 +91,14 @@
/// <summary>
/// The Encoding in which the output is written
/// </summary>
+ /// <value>
+ /// The <see cref="Encoding"/>
+ /// </value>
+ /// <remarks>
+ /// <para>
+ /// The Encoding in which the output is written
+ /// </para>
+ /// </remarks>
override public Encoding Encoding
{
get { return m_writer.Encoding; }
@@ -82,6 +107,14 @@
/// <summary>
/// Gets an object that controls formatting
/// </summary>
+ /// <value>
+ /// The format provider
+ /// </value>
+ /// <remarks>
+ /// <para>
+ /// Gets an object that controls formatting
+ /// </para>
+ /// </remarks>
override public IFormatProvider FormatProvider
{
get { return m_writer.FormatProvider; }
@@ -90,6 +123,14 @@
/// <summary>
/// Gets or sets the line terminator string used by the
TextWriter
/// </summary>
+ /// <value>
+ /// The line terminator to use
+ /// </value>
+ /// <remarks>
+ /// <para>
+ /// Gets or sets the line terminator string used by the
TextWriter
+ /// </para>
+ /// </remarks>
override public String NewLine
{
get { return m_writer.NewLine; }
@@ -103,6 +144,10 @@
/// <summary>
/// Closes the writer and releases any system resources
associated with the writer
/// </summary>
+ /// <remarks>
+ /// <para>
+ /// </para>
+ /// </remarks>
override public void Close()
{
m_writer.Close();
@@ -112,6 +157,11 @@
/// Dispose this writer
/// </summary>
/// <param name="disposing">flag indicating if we are being
disposed</param>
+ /// <remarks>
+ /// <para>
+ /// Dispose this writer
+ /// </para>
+ /// </remarks>
override protected void Dispose(bool disposing)
{
if (disposing)
@@ -121,9 +171,14 @@
}
/// <summary>
+ /// Flushes any buffered output
+ /// </summary>
+ /// <remarks>
+ /// <para>
/// Clears all buffers for the writer and causes any buffered
data to be written
/// to the underlying device
- /// </summary>
+ /// </para>
+ /// </remarks>
override public void Flush()
{
m_writer.Flush();
@@ -133,6 +188,11 @@
/// Writes a character to the wrapped TextWriter
/// </summary>
/// <param name="value">the value to write to the
TextWriter</param>
+ /// <remarks>
+ /// <para>
+ /// Writes a character to the wrapped TextWriter
+ /// </para>
+ /// </remarks>
override public void Write(char value)
{
m_writer.Write(value);
@@ -144,6 +204,11 @@
/// <param name="buffer">the data buffer</param>
/// <param name="index">the start index</param>
/// <param name="count">the number of characters to
write</param>
+ /// <remarks>
+ /// <para>
+ /// Writes a character buffer to the wrapped TextWriter
+ /// </para>
+ /// </remarks>
override public void Write(char[] buffer, int index, int count)
{
m_writer.Write(buffer, index, count);
@@ -153,6 +218,11 @@
/// Writes a string to the wrapped TextWriter
/// </summary>
/// <param name="value">the value to write to the
TextWriter</param>
+ /// <remarks>
+ /// <para>
+ /// Writes a string to the wrapped TextWriter
+ /// </para>
+ /// </remarks>
override public void Write(String value)
{
m_writer.Write(value);
1.3 +32 -1 logging-log4net/src/Util/ThreadContextList.cs
Index: ThreadContextList.cs
===================================================================
RCS file: /home/cvs/logging-log4net/src/Util/ThreadContextList.cs,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ThreadContextList.cs 17 Jan 2005 20:18:48 -0000 1.2
+++ ThreadContextList.cs 7 Feb 2005 04:05:50 -0000 1.3
@@ -29,6 +29,7 @@
/// </summary>
/// <remarks>
/// <para>
+ /// Implementation of List for the <see cref="log4net.ThreadContext"/>
/// </para>
/// </remarks>
/// <author>Nicko Cadell</author>
@@ -46,8 +47,13 @@
#region Public Instance Constructors
/// <summary>
- /// Initializes a new instance of the <see
cref="ThreadContextStack" /> class.
+ /// Internal constructor
/// </summary>
+ /// <remarks>
+ /// <para>
+ /// Initializes a new instance of the <see
cref="ThreadContextStack" /> class.
+ /// </para>
+ /// </remarks>
internal ThreadContextList()
{
}
@@ -59,6 +65,11 @@
/// <summary>
/// Clears all the contextual information held in this list.
/// </summary>
+ /// <remarks>
+ /// <para>
+ /// Clears all the contextual information held in this list.
+ /// </para>
+ /// </remarks>
public void Clear()
{
m_list.Clear();
@@ -68,6 +79,11 @@
/// Append a message to this list
/// </summary>
/// <param name="message">the message to append to this
list</param>
+ /// <remarks>
+ /// <para>
+ /// Append a message to this list
+ /// </para>
+ /// </remarks>
public void Append(string message)
{
m_list.Add(message);
@@ -81,6 +97,11 @@
/// Gets the current context information for this list.
/// </summary>
/// <returns>The current context information.</returns>
+ /// <remarks>
+ /// <para>
+ /// Gets the current context information for this list.
+ /// </para>
+ /// </remarks>
internal string GetFullMessage()
{
if (m_list.Count > 1)
@@ -113,6 +134,11 @@
/// Gets the current context information for this list.
/// </summary>
/// <returns>Gets the current context information</returns>
+ /// <remarks>
+ /// <para>
+ /// Gets the current context information for this list.
+ /// </para>
+ /// </remarks>
public override string ToString()
{
return GetFullMessage();
@@ -122,6 +148,11 @@
/// Get a portable version of this object
/// </summary>
/// <returns>the portable instance of this object</returns>
+ /// <remarks>
+ /// <para>
+ /// Get a portable version of this object
+ /// </para>
+ /// </remarks>
object IFixingRequired.GetFixedObject()
{
return GetFullMessage();
1.4 +14 -3 logging-log4net/src/Util/ThreadContextLists.cs
Index: ThreadContextLists.cs
===================================================================
RCS file: /home/cvs/logging-log4net/src/Util/ThreadContextLists.cs,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- ThreadContextLists.cs 17 Jan 2005 20:18:48 -0000 1.3
+++ ThreadContextLists.cs 7 Feb 2005 04:05:50 -0000 1.4
@@ -26,6 +26,7 @@
/// </summary>
/// <remarks>
/// <para>
+ /// Implementation of Lists collection for the <see
cref="log4net.ThreadContext"/>
/// </para>
/// </remarks>
/// <author>Nicko Cadell</author>
@@ -36,8 +37,13 @@
#region Public Instance Constructors
/// <summary>
- /// Initializes a new instance of the <see
cref="ThreadContextLists" /> class.
+ /// Internal constructor
/// </summary>
+ /// <remarks>
+ /// <para>
+ /// Initializes a new instance of the <see
cref="ThreadContextLists" /> class.
+ /// </para>
+ /// </remarks>
internal ThreadContextLists(ContextPropertiesBase properties)
{
m_properties = properties;
@@ -48,11 +54,16 @@
#region Public Instance Properties
/// <summary>
- /// Gets or sets the value of a property
+ /// Gets the named list
/// </summary>
/// <value>
- /// The value for the property with the specified key
+ /// The named list
/// </value>
+ /// <remarks>
+ /// <para>
+ /// Gets the named list
+ /// </para>
+ /// </remarks>
public ThreadContextList this[string key]
{
get
1.4 +24 -4 logging-log4net/src/Util/ThreadContextProperties.cs
Index: ThreadContextProperties.cs
===================================================================
RCS file: /home/cvs/logging-log4net/src/Util/ThreadContextProperties.cs,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- ThreadContextProperties.cs 17 Jan 2005 20:18:48 -0000 1.3
+++ ThreadContextProperties.cs 7 Feb 2005 04:05:50 -0000 1.4
@@ -45,8 +45,13 @@
#region Public Instance Constructors
/// <summary>
- /// Initializes a new instance of the <see
cref="ThreadContextProperties" /> class.
+ /// Internal constructor
/// </summary>
+ /// <remarks>
+ /// <para>
+ /// Initializes a new instance of the <see
cref="ThreadContextProperties" /> class.
+ /// </para>
+ /// </remarks>
internal ThreadContextProperties()
{
}
@@ -61,6 +66,11 @@
/// <value>
/// The value for the property with the specified key
/// </value>
+ /// <remarks>
+ /// <para>
+ /// Gets or sets the value of a property
+ /// </para>
+ /// </remarks>
override public object this[string key]
{
get
@@ -86,6 +96,11 @@
/// Remove a property
/// </summary>
/// <param name="key">the key for the entry to remove</param>
+ /// <remarks>
+ /// <para>
+ /// Remove a property
+ /// </para>
+ /// </remarks>
public void Remove(string key)
{
PropertiesDictionary dictionary = GetProperties(false);
@@ -96,8 +111,13 @@
}
/// <summary>
- /// Clear the global context properties
+ /// Clear all properties
/// </summary>
+ /// <remarks>
+ /// <para>
+ /// Clear all properties
+ /// </para>
+ /// </remarks>
public void Clear()
{
PropertiesDictionary dictionary = GetProperties(false);
@@ -112,7 +132,7 @@
#region Internal Instance Methods
/// <summary>
- /// Get the PropertiesDictionary stored in the
LocalDataStoreSlot for this thread.
+ /// Get the <c>PropertiesDictionary</c> for this thread.
/// </summary>
/// <param name="create">create the dictionary if it does not
exist, otherwise return null if is does not exist</param>
/// <returns>the properties for this thread</returns>
@@ -120,7 +140,7 @@
/// <para>
/// The collection returned is only to be used on the calling
thread. If the
/// caller needs to share the collection between different
threads then the
- /// caller must clone the collection before doings so.
+ /// caller must clone the collection before doing so.
/// </para>
/// </remarks>
internal PropertiesDictionary GetProperties(bool create)
1.5 +70 -9 logging-log4net/src/Util/ThreadContextStack.cs
Index: ThreadContextStack.cs
===================================================================
RCS file: /home/cvs/logging-log4net/src/Util/ThreadContextStack.cs,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- ThreadContextStack.cs 17 Jan 2005 20:18:48 -0000 1.4
+++ ThreadContextStack.cs 7 Feb 2005 04:05:50 -0000 1.5
@@ -31,6 +31,7 @@
/// </summary>
/// <remarks>
/// <para>
+ /// Implementation of Stack for the <see cref="log4net.ThreadContext"/>
/// </para>
/// </remarks>
/// <author>Nicko Cadell</author>
@@ -48,8 +49,13 @@
#region Public Instance Constructors
/// <summary>
- /// Initializes a new instance of the <see
cref="ThreadContextStack" /> class.
+ /// Internal constructor
/// </summary>
+ /// <remarks>
+ /// <para>
+ /// Initializes a new instance of the <see
cref="ThreadContextStack" /> class.
+ /// </para>
+ /// </remarks>
internal ThreadContextStack()
{
}
@@ -81,15 +87,14 @@
/// <summary>
/// Removes the top context from this stack.
/// </summary>
+ /// <returns>The message in the context that was removed from
the top of this stack.</returns>
/// <remarks>
+ /// <para>
/// Remove the top context from this stack, and return
/// it to the caller. If this stack is empty then an
/// empty string (not <see langword="null"/>) is returned.
+ /// </para>
/// </remarks>
- /// <returns>
- /// The message in the context that was removed from the top
- /// of this stack.
- /// </returns>
public string Pop()
{
Stack stack = m_stack;
@@ -108,10 +113,12 @@
/// An <see cref="IDisposable"/> that can be used to clean up
the context stack.
/// </returns>
/// <remarks>
+ /// <para>
/// Pushes a new context onto this stack. An <see
cref="IDisposable"/>
/// is returned that can be used to clean up this stack. This
/// can be easily combined with the <c>using</c> keyword to
scope the
/// context.
+ /// </para>
/// </remarks>
/// <example>Simple example of using the <c>Push</c> method
with the <c>using</c> keyword.
/// <code lang="C#">
@@ -153,6 +160,11 @@
/// Gets the current context information for this stack.
/// </summary>
/// <returns>Gets the current context information</returns>
+ /// <remarks>
+ /// <para>
+ /// Gets the current context information for this stack.
+ /// </para>
+ /// </remarks>
public override string ToString()
{
return GetFullMessage();
@@ -162,6 +174,11 @@
/// Get a portable version of this object
/// </summary>
/// <returns>the portable instance of this object</returns>
+ /// <remarks>
+ /// <para>
+ /// Get a cross thread portable version of this object
+ /// </para>
+ /// </remarks>
object IFixingRequired.GetFixedObject()
{
return GetFullMessage();
@@ -170,6 +187,11 @@
/// <summary>
/// Inner class used to represent a single context frame in the
stack.
/// </summary>
+ /// <remarks>
+ /// <para>
+ /// Inner class used to represent a single context frame in the
stack.
+ /// </para>
+ /// </remarks>
private sealed class StackFrame
{
#region Private Instance Fields
@@ -183,11 +205,16 @@
#region Internal Instance Constructors
/// <summary>
- /// Initializes a new instance of the <see
cref="StackFrame" /> class
- /// with the specified message and parent context.
+ /// Constructor
/// </summary>
/// <param name="message">The message for this
context.</param>
/// <param name="parent">The parent context in the
chain.</param>
+ /// <remarks>
+ /// <para>
+ /// Initializes a new instance of the <see
cref="StackFrame" /> class
+ /// with the specified message and parent context.
+ /// </para>
+ /// </remarks>
internal StackFrame(string message, StackFrame parent)
{
m_message = message;
@@ -207,6 +234,11 @@
/// Get the message.
/// </summary>
/// <value>The message.</value>
+ /// <remarks>
+ /// <para>
+ /// Get the message.
+ /// </para>
+ /// </remarks>
internal string Message
{
get { return m_message; }
@@ -218,6 +250,11 @@
/// <value>
/// The full text of the context down to the root level.
/// </value>
+ /// <remarks>
+ /// <para>
+ /// Gets the full text of the context down to the root
level.
+ /// </para>
+ /// </remarks>
internal string FullMessage
{
get
@@ -237,8 +274,10 @@
/// Struct returned from the <see
cref="ThreadContextStack.Push"/> method.
/// </summary>
/// <remarks>
+ /// <para>
/// This struct implements the <see cref="IDisposable"/> and is
designed to be used
/// with the <see langword="using"/> pattern to remove the
stack frame at the end of the scope.
+ /// </para>
/// </remarks>
private struct AutoPopStackFrame : IDisposable
{
@@ -259,11 +298,16 @@
#region Internal Instance Constructors
/// <summary>
- /// Initializes a new instance of the <see
cref="AutoPopStackFrame" /> class with
- /// the specified stack and return depth.
+ /// Constructor
/// </summary>
/// <param name="frameStack">The internal stack used by
the ThreadContextStack.</param>
/// <param name="frameDepth">The depth to return the
stack to when this object is disposed.</param>
+ /// <remarks>
+ /// <para>
+ /// Initializes a new instance of the <see
cref="AutoPopStackFrame" /> class with
+ /// the specified stack and return depth.
+ /// </para>
+ /// </remarks>
internal AutoPopStackFrame(Stack frameStack, int
frameDepth)
{
m_frameStack = frameStack;
@@ -277,6 +321,11 @@
/// <summary>
/// Returns the stack to the correct depth.
/// </summary>
+ /// <remarks>
+ /// <para>
+ /// Returns the stack to the correct depth.
+ /// </para>
+ /// </remarks>
public void Dispose()
{
if (m_frameDepth >= 0 && m_frameStack != null)
@@ -297,15 +346,22 @@
/// provide missing methods.
/// </summary>
/// <remarks>
+ /// <para>
/// The Compact Framework version of the <see
cref="System.Collections.Stack"/>
/// class is missing the <c>Clear</c> and <c>Clone</c> methods.
/// This subclass adds implementations of those missing methods.
+ /// </para>
/// </remarks>
public class Stack : System.Collections.Stack
{
/// <summary>
/// Clears the stack of all elements.
/// </summary>
+ /// <remarks>
+ /// <para>
+ /// Clears the stack of all elements.
+ /// </para>
+ /// </remarks>
public void Clear()
{
while(Count > 0)
@@ -318,6 +374,11 @@
/// Makes a shallow copy of the stack's elements.
/// </summary>
/// <returns>A new stack that has a shallow copy of the
stack's elements.</returns>
+ /// <remarks>
+ /// <para>
+ /// Makes a shallow copy of the stack's elements.
+ /// </para>
+ /// </remarks>
public Stack Clone()
{
Stack res = new Stack();
1.4 +14 -3 logging-log4net/src/Util/ThreadContextStacks.cs
Index: ThreadContextStacks.cs
===================================================================
RCS file: /home/cvs/logging-log4net/src/Util/ThreadContextStacks.cs,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- ThreadContextStacks.cs 17 Jan 2005 20:18:48 -0000 1.3
+++ ThreadContextStacks.cs 7 Feb 2005 04:05:50 -0000 1.4
@@ -26,6 +26,7 @@
/// </summary>
/// <remarks>
/// <para>
+ /// Implementation of Stacks collection for the <see
cref="log4net.ThreadContext"/>
/// </para>
/// </remarks>
/// <author>Nicko Cadell</author>
@@ -36,8 +37,13 @@
#region Public Instance Constructors
/// <summary>
- /// Initializes a new instance of the <see
cref="ThreadContextStacks" /> class.
+ /// Internal constructor
/// </summary>
+ /// <remarks>
+ /// <para>
+ /// Initializes a new instance of the <see
cref="ThreadContextStacks" /> class.
+ /// </para>
+ /// </remarks>
internal ThreadContextStacks(ContextPropertiesBase properties)
{
m_properties = properties;
@@ -48,11 +54,16 @@
#region Public Instance Properties
/// <summary>
- /// Gets or sets the value of a property
+ /// Gets the named thread context stack
/// </summary>
/// <value>
- /// The value for the property with the specified key
+ /// The named stack
/// </value>
+ /// <remarks>
+ /// <para>
+ /// Gets the named thread context stack
+ /// </para>
+ /// </remarks>
public ThreadContextStack this[string key]
{
get
1.6 +12 -1 logging-log4net/src/Util/Transform.cs
Index: Transform.cs
===================================================================
RCS file: /home/cvs/logging-log4net/src/Util/Transform.cs,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- Transform.cs 17 Jan 2005 20:18:48 -0000 1.5
+++ Transform.cs 7 Feb 2005 04:05:50 -0000 1.6
@@ -25,6 +25,11 @@
/// <summary>
/// Utility class for transforming strings.
/// </summary>
+ /// <remarks>
+ /// <para>
+ /// Utility class for transforming strings.
+ /// </para>
+ /// </remarks>
/// <author>Nicko Cadell</author>
/// <author>Gert Driesen</author>
public sealed class Transform
@@ -35,7 +40,9 @@
/// Initializes a new instance of the <see cref="Transform" />
class.
/// </summary>
/// <remarks>
+ /// <para>
/// Uses a private access modifier to prevent instantiation of
this class.
+ /// </para>
/// </remarks>
private Transform()
{
@@ -46,13 +53,15 @@
#region Public Static Methods
/// <summary>
- /// Write a string to an XmlWriter
+ /// Write a string to an <see cref="XmlWriter"/>
/// </summary>
/// <param name="writer">the writer to write to</param>
/// <param name="stringData">the string to write</param>
/// <remarks>
+ /// <para>
/// The test is escaped either using XML escape entities
/// or using CDATA sections.
+ /// </para>
/// </remarks>
public static void WriteEscapedXmlString(XmlWriter writer,
string stringData)
{
@@ -115,7 +124,9 @@
/// <param name="substring">the substring to find</param>
/// <returns>the number of times the substring occurs in the
text</returns>
/// <remarks>
+ /// <para>
/// The substring is assumed to be non repeating within itself.
+ /// </para>
/// </remarks>
private static int CountSubstrings(string text, string
substring)
{
1.5 +52 -10 logging-log4net/src/Util/WindowsSecurityContext.cs
Index: WindowsSecurityContext.cs
===================================================================
RCS file: /home/cvs/logging-log4net/src/Util/WindowsSecurityContext.cs,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- WindowsSecurityContext.cs 17 Jan 2005 20:18:48 -0000 1.4
+++ WindowsSecurityContext.cs 7 Feb 2005 04:05:50 -0000 1.5
@@ -53,8 +53,10 @@
/// The impersonation modes for the <see
cref="WindowsSecurityContext"/>
/// </summary>
/// <remarks>
+ /// <para>
/// See the <see cref="WindowsSecurityContext.Credentials"/>
property for
/// details.
+ /// </para>
/// </remarks>
public enum ImpersonationMode
{
@@ -84,6 +86,11 @@
/// <summary>
/// Default constructor
/// </summary>
+ /// <remarks>
+ /// <para>
+ /// Default constructor
+ /// </para>
+ /// </remarks>
public WindowsSecurityContext()
{
}
@@ -93,8 +100,11 @@
#region Public Properties
/// <summary>
- /// The impersonation mode for this security context
+ /// Gets or sets the impersonation mode for this security
context
/// </summary>
+ /// <value>
+ /// The impersonation mode for this security context
+ /// </value>
/// <remarks>
/// <para>
/// Impersonate either a user with user credentials or
@@ -124,8 +134,11 @@
}
/// <summary>
- /// The Windows username for this security context
+ /// Gets or sets the Windows username for this security context
/// </summary>
+ /// <value>
+ /// The Windows username for this security context
+ /// </value>
/// <remarks>
/// <para>
/// This property must be set if <see cref="Credentials"/>
@@ -139,8 +152,11 @@
}
/// <summary>
- /// The Windows domain name for this security context
+ /// Gets or sets the Windows domain name for this security
context
/// </summary>
+ /// <value>
+ /// The Windows domain name for this security context
+ /// </value>
/// <remarks>
/// <para>
/// The default value for <see cref="DomainName"/> is the local
machine name
@@ -158,8 +174,11 @@
}
/// <summary>
- /// The password for the Windows account specified by the <see
cref="UserName"/> and <see cref="DomainName"/> properties.
+ /// Sets the password for the Windows account specified by the
<see cref="UserName"/> and <see cref="DomainName"/> properties.
/// </summary>
+ /// <value>
+ /// The password for the Windows account specified by the <see
cref="UserName"/> and <see cref="DomainName"/> properties.
+ /// </value>
/// <remarks>
/// <para>
/// This property must be set if <see cref="Credentials"/>
@@ -168,7 +187,6 @@
/// </remarks>
public string Password
{
- get { return m_password; }
set { m_password = value; }
}
@@ -216,12 +234,15 @@
/// Impersonate the Windows account specified by the <see
cref="UserName"/> and <see cref="DomainName"/> properties.
/// </summary>
/// <param name="state">caller provided state</param>
- /// <returns>An <see cref="IDisposable"/> instance that will
- /// revoke the impersonation of this SecurityContext</returns>
+ /// <returns>
+ /// An <see cref="IDisposable"/> instance that will revoke the
impersonation of this SecurityContext
+ /// </returns>
/// <remarks>
+ /// <para>
/// Depending on the <see cref="Credentials"/> property either
/// impersonate a user using credentials supplied or revert
/// to the process credentials.
+ /// </para>
/// </remarks>
public override IDisposable Impersonate(object state)
{
@@ -250,7 +271,7 @@
/// <remarks>
/// <para>
/// Uses the Windows API call LogonUser to get a principal
token for the account. This
- /// token is used to initialise the WindowsIdentity.
+ /// token is used to initialize the WindowsIdentity.
/// </para>
/// </remarks>
private static WindowsIdentity LogonUser(string userName,
string domainName, string password)
@@ -310,18 +331,40 @@
#region DisposableImpersonationContext class
/// <summary>
+ /// Adds <see cref="IDisposable"/> to <see
cref="WindowsImpersonationContext"/>
+ /// </summary>
+ /// <remarks>
+ /// <para>
/// Helper class to expose the <see
cref="WindowsImpersonationContext"/>
/// through the <see cref="IDisposable"/> interface.
- /// </summary>
+ /// </para>
+ /// </remarks>
private sealed class DisposableImpersonationContext :
IDisposable
{
private readonly WindowsImpersonationContext
m_impersonationContext;
+ /// <summary>
+ /// Constructor
+ /// </summary>
+ /// <param name="impersonationContext">the
impersonation context being wrapped</param>
+ /// <remarks>
+ /// <para>
+ /// Constructor
+ /// </para>
+ /// </remarks>
public
DisposableImpersonationContext(WindowsImpersonationContext impersonationContext)
{
m_impersonationContext = impersonationContext;
}
+ /// <summary>
+ /// Revert the impersonation
+ /// </summary>
+ /// <remarks>
+ /// <para>
+ /// Revert the impersonation
+ /// </para>
+ /// </remarks>
public void Dispose()
{
m_impersonationContext.Undo();
@@ -329,7 +372,6 @@
}
#endregion
-
}
}