diff --git a/xml/System.Collections.Concurrent/BlockingCollection`1.xml b/xml/System.Collections.Concurrent/BlockingCollection`1.xml
index c4cb146903c..687e1deaeeb 100644
--- a/xml/System.Collections.Concurrent/BlockingCollection`1.xml
+++ b/xml/System.Collections.Concurrent/BlockingCollection`1.xml
@@ -85,33 +85,31 @@
is a thread-safe collection class that provides the following:
-- An implementation of the producer/consumer pattern; is a wrapper for the interface.
+ is a thread-safe collection class that provides the following:
+- An implementation of the producer/consumer pattern; is a wrapper for the interface.
- Concurrent addition and removal of items from multiple threads with the and methods.
-
- A bounded collection that blocks and operations when the collection is full or empty.
-
- Cancellation of or operations by using a object in the or method.
> [!IMPORTANT]
-> This type implements the interface. When you have finished using the type, you should dispose of it either directly or indirectly. To dispose of the type directly, call its method in a `try`/`catch` block. To dispose of it indirectly, use a language construct such as `using` (in C#) or `Using` (in Visual Basic). For more information, see the "Using an Object that Implements IDisposable" section in the interface topic. Also, note that the method is not thread-safe. All other public and protected members of are thread-safe and may be used concurrently from multiple threads.
+>
+> - This type implements the interface. When you've finished using the type, you should dispose of it either directly (by calling its `Dispose` method) or indirectly (with a language construct such as `using` in C#). For more information, see [Use an object that implements IDisposable](xref:System.IDisposable#use-an-object-that-implements-idisposable).
+> - The method is not thread-safe. All other public and protected members of are thread-safe and can be used concurrently from multiple threads.
- represents a collection that allows for thread-safe adding and removal of data. is used as a wrapper for an instance, and allows removal attempts from the collection to block until data is available to be removed. Similarly, you can create a to enforce an upper bound on the number of data elements allowed in the ; addition attempts to the collection may then block until space is available to store the added items. In this manner, is similar to a traditional blocking queue data structure, except that the underlying data storage mechanism is abstracted away as an .
+ represents a collection that allows for thread-safe adding and removal of data. is used as a wrapper for an instance, and allows removal attempts from the collection to block until data is available to be removed. Similarly, you can create a to enforce an upper bound on the number of data elements allowed in the ; addition attempts to the collection may then block until space is available to store the added items. In this manner, is similar to a traditional blocking queue data structure, except that the underlying data storage mechanism is abstracted away as an .
- supports bounding and blocking. Bounding means that you can set the maximum capacity of the collection. Bounding is important in certain scenarios because it enables you to control the maximum size of the collection in memory, and it prevents the producing threads from moving too far ahead of the consuming threads.Multiple threads or tasks can add items to the collection concurrently, and if the collection reaches its specified maximum capacity, the producing threads will block until an item is removed. Multiple consumers can remove items concurrently, and if the collection becomes empty, the consuming threads will block until a producer adds an item. A producing thread can call the method to indicate that no more items will be added. Consumers monitor the property to know when the collection is empty and no more items will be added.
+ supports bounding and blocking. Bounding means that you can set the maximum capacity of the collection. Bounding is important in certain scenarios because it enables you to control the maximum size of the collection in memory, and it prevents the producing threads from moving too far ahead of the consuming threads. Multiple threads or tasks can add items to the collection concurrently, and if the collection reaches its specified maximum capacity, the producing threads will block until an item is removed. Multiple consumers can remove items concurrently, and if the collection becomes empty, the consuming threads will block until a producer adds an item. A producing thread can call the method to indicate that no more items will be added. Consumers monitor the property to know when the collection is empty and no more items will be added.
- and operations are typically performed in a loop. You can cancel a loop by passing in a object to the or method, and then checking the value of the token's property on each iteration. If the value is `true`, it is up to you to respond the cancellation request by cleaning up any resources and exiting the loop.
+ and operations are typically performed in a loop. You can cancel a loop by passing in a object to the or method, and then checking the value of the token's property on each iteration. If the value is `true`, it is up to you to respond the cancellation request by cleaning up any resources and exiting the loop.
- When you create a object, you can specify not only the bounded capacity but also the type of collection to use. For example, you could specify a object for first in, first out (FIFO) behavior, or a object for last in, first out (LIFO) behavior. You can use any collection class that implements the interface. The default collection type for is .
+When you create a object, you can specify not only the bounded capacity but also the type of collection to use. For example, you could specify a object for first in, first out (FIFO) behavior, or a object for last in, first out (LIFO) behavior. You can use any collection class that implements the interface. The default collection type for is .
- Do not modify the underlying collection directly. Use methods to add or remove elements. The object can become corrupted if you change the underlying collection directly.
+Do not modify the underlying collection directly. Use methods to add or remove elements. The object can become corrupted if you change the underlying collection directly.
was not designed with asynchronous access in mind. If your application requires asynchronous producer/consumer scenarios, consider using instead.
-
-
## Examples
The following example shows how to add and take items concurrently from a blocking collection:
diff --git a/xml/System.ComponentModel.Composition.Hosting/AggregateCatalog.xml b/xml/System.ComponentModel.Composition.Hosting/AggregateCatalog.xml
index 8e6fe39df40..c75b4dbddbe 100644
--- a/xml/System.ComponentModel.Composition.Hosting/AggregateCatalog.xml
+++ b/xml/System.ComponentModel.Composition.Hosting/AggregateCatalog.xml
@@ -40,7 +40,7 @@
## Remarks
> [!IMPORTANT]
-> This type implements the interface. When you have finished using the type, you should dispose of it either directly or indirectly. To dispose of the type directly, call its method in a `try`/`catch` block. To dispose of it indirectly, use a language construct such as `using` (in C#) or `Using` (in Visual Basic). For more information, see the "Using an Object that Implements IDisposable" section in the interface topic.
+> This type implements the interface. When you've finished using the type, you should dispose of it either directly (by calling its `Dispose` method) or indirectly (with a language construct such as `using` in C#). For more information, see [Use an object that implements IDisposable](xref:System.IDisposable#use-an-object-that-implements-idisposable).
]]>
diff --git a/xml/System.ComponentModel.Composition.Hosting/AggregateExportProvider.xml b/xml/System.ComponentModel.Composition.Hosting/AggregateExportProvider.xml
index 0eb003d4e10..d34b3940053 100644
--- a/xml/System.ComponentModel.Composition.Hosting/AggregateExportProvider.xml
+++ b/xml/System.ComponentModel.Composition.Hosting/AggregateExportProvider.xml
@@ -40,7 +40,7 @@
## Remarks
> [!IMPORTANT]
-> This type implements the interface. When you have finished using the type, you should dispose of it either directly or indirectly. To dispose of the type directly, call its method in a `try`/`catch` block. To dispose of it indirectly, use a language construct such as `using` (in C#) or `Using` (in Visual Basic). For more information, see the "Using an Object that Implements IDisposable" section in the interface topic.
+> This type implements the interface. When you've finished using the type, you should dispose of it either directly (by calling its `Dispose` method) or indirectly (with a language construct such as `using` in C#). For more information, see [Use an object that implements IDisposable](xref:System.IDisposable#use-an-object-that-implements-idisposable).
]]>
diff --git a/xml/System.ComponentModel.Composition.Hosting/ApplicationCatalog.xml b/xml/System.ComponentModel.Composition.Hosting/ApplicationCatalog.xml
index 1ee4990be5e..d40236adf6c 100644
--- a/xml/System.ComponentModel.Composition.Hosting/ApplicationCatalog.xml
+++ b/xml/System.ComponentModel.Composition.Hosting/ApplicationCatalog.xml
@@ -40,7 +40,7 @@
## Remarks
> [!IMPORTANT]
-> This type implements the interface. When you have finished using the type, you should dispose of it either directly or indirectly. To dispose of the type directly, call its method in a `try`/`catch` block. To dispose of it indirectly, use a language construct such as `using` (in C#) or `Using` (in Visual Basic). For more information, see the "Using an Object that Implements IDisposable" section in the interface topic.
+> This type implements the interface. When you've finished using the type, you should dispose of it either directly (by calling its `Dispose` method) or indirectly (with a language construct such as `using` in C#). For more information, see [Use an object that implements IDisposable](xref:System.IDisposable#use-an-object-that-implements-idisposable).
]]>
diff --git a/xml/System.ComponentModel.Composition.Hosting/AssemblyCatalog.xml b/xml/System.ComponentModel.Composition.Hosting/AssemblyCatalog.xml
index fda6f05e655..dfa40a040e5 100644
--- a/xml/System.ComponentModel.Composition.Hosting/AssemblyCatalog.xml
+++ b/xml/System.ComponentModel.Composition.Hosting/AssemblyCatalog.xml
@@ -45,7 +45,7 @@
An is used to parse all the parts present in a specified assembly. The target assembly can be indicated either by object reference or by path.
> [!IMPORTANT]
-> This type implements the interface. When you have finished using the type, you should dispose of it either directly or indirectly. To dispose of the type directly, call its method in a `try`/`catch` block. To dispose of it indirectly, use a language construct such as `using` (in C#) or `Using` (in Visual Basic). For more information, see the "Using an Object that Implements IDisposable" section in the interface topic.
+> This type implements the interface. When you've finished using the type, you should dispose of it either directly (by calling its `Dispose` method) or indirectly (with a language construct such as `using` in C#). For more information, see [Use an object that implements IDisposable](xref:System.IDisposable#use-an-object-that-implements-idisposable).
This type is thread safe.
diff --git a/xml/System.ComponentModel.Composition.Hosting/AtomicComposition.xml b/xml/System.ComponentModel.Composition.Hosting/AtomicComposition.xml
index 9d82faef55f..9e5e6bad717 100644
--- a/xml/System.ComponentModel.Composition.Hosting/AtomicComposition.xml
+++ b/xml/System.ComponentModel.Composition.Hosting/AtomicComposition.xml
@@ -40,7 +40,7 @@
## Remarks
> [!IMPORTANT]
-> This type implements the interface. When you have finished using the type, you should dispose of it either directly or indirectly. To dispose of the type directly, call its method in a `try`/`catch` block. To dispose of it indirectly, use a language construct such as `using` (in C#) or `Using` (in Visual Basic). For more information, see the "Using an Object that Implements IDisposable" section in the interface topic.
+> This type implements the interface. When you've finished using the type, you should dispose of it either directly (by calling its `Dispose` method) or indirectly (with a language construct such as `using` in C#). For more information, see [Use an object that implements IDisposable](xref:System.IDisposable#use-an-object-that-implements-idisposable).
]]>
diff --git a/xml/System.ComponentModel.Composition.Hosting/CatalogExportProvider.xml b/xml/System.ComponentModel.Composition.Hosting/CatalogExportProvider.xml
index 594cceb4e91..c147201de68 100644
--- a/xml/System.ComponentModel.Composition.Hosting/CatalogExportProvider.xml
+++ b/xml/System.ComponentModel.Composition.Hosting/CatalogExportProvider.xml
@@ -40,7 +40,7 @@
## Remarks
> [!IMPORTANT]
-> This type implements the interface. When you have finished using the type, you should dispose of it either directly or indirectly. To dispose of the type directly, call its method in a `try`/`catch` block. To dispose of it indirectly, use a language construct such as `using` (in C#) or `Using` (in Visual Basic). For more information, see the "Using an Object that Implements IDisposable" section in the interface topic.
+> This type implements the interface. When you've finished using the type, you should dispose of it either directly (by calling its `Dispose` method) or indirectly (with a language construct such as `using` in C#). For more information, see [Use an object that implements IDisposable](xref:System.IDisposable#use-an-object-that-implements-idisposable).
]]>
diff --git a/xml/System.ComponentModel.Composition.Hosting/ComposablePartExportProvider.xml b/xml/System.ComponentModel.Composition.Hosting/ComposablePartExportProvider.xml
index 6ca751759c7..186cb012bbc 100644
--- a/xml/System.ComponentModel.Composition.Hosting/ComposablePartExportProvider.xml
+++ b/xml/System.ComponentModel.Composition.Hosting/ComposablePartExportProvider.xml
@@ -40,7 +40,7 @@
## Remarks
> [!IMPORTANT]
-> This type implements the interface. When you have finished using the type, you should dispose of it either directly or indirectly. To dispose of the type directly, call its method in a `try`/`catch` block. To dispose of it indirectly, use a language construct such as `using` (in C#) or `Using` (in Visual Basic). For more information, see the "Using an Object that Implements IDisposable" section in the interface topic.
+> This type implements the interface. When you've finished using the type, you should dispose of it either directly (by calling its `Dispose` method) or indirectly (with a language construct such as `using` in C#). For more information, see [Use an object that implements IDisposable](xref:System.IDisposable#use-an-object-that-implements-idisposable).
]]>
diff --git a/xml/System.ComponentModel.Composition.Hosting/CompositionContainer.xml b/xml/System.ComponentModel.Composition.Hosting/CompositionContainer.xml
index 816579c6039..c2c3f08e341 100644
--- a/xml/System.ComponentModel.Composition.Hosting/CompositionContainer.xml
+++ b/xml/System.ComponentModel.Composition.Hosting/CompositionContainer.xml
@@ -44,7 +44,7 @@
A object serves two major purposes in an application. First, it keeps track of which parts are available for composition and what their dependencies are, and performs composition whenever the set of available parts changes. Second, it provides the methods by which the application gets instances of composed parts or fills the dependencies of a composable part.
> [!IMPORTANT]
-> This type implements the interface. When you have finished using the type, you should dispose of it either directly or indirectly. To dispose of the type directly, call its method in a `try`/`catch` block. To dispose of it indirectly, use a language construct such as `using` (in C#) or `Using` (in Visual Basic). For more information, see the "Using an Object that Implements IDisposable" section in the interface topic.
+> This type implements the interface. When you've finished using the type, you should dispose of it either directly (by calling its `Dispose` method) or indirectly (with a language construct such as `using` in C#). For more information, see [Use an object that implements IDisposable](xref:System.IDisposable#use-an-object-that-implements-idisposable).
Parts can be made available to the container either directly or through the property. All the parts discoverable in this are available to the container to fulfill imports, along with any parts added directly.
diff --git a/xml/System.ComponentModel.Composition.Hosting/CompositionScopeDefinition.xml b/xml/System.ComponentModel.Composition.Hosting/CompositionScopeDefinition.xml
index e4a487c04ba..58bd25d1a5d 100644
--- a/xml/System.ComponentModel.Composition.Hosting/CompositionScopeDefinition.xml
+++ b/xml/System.ComponentModel.Composition.Hosting/CompositionScopeDefinition.xml
@@ -44,7 +44,7 @@
## Remarks
> [!IMPORTANT]
-> This type implements the interface. When you have finished using the type, you should dispose of it either directly or indirectly. To dispose of the type directly, call its method in a `try`/`catch` block. To dispose of it indirectly, use a language construct such as `using` (in C#) or `Using` (in Visual Basic). For more information, see the "Using an Object that Implements IDisposable" section in the interface topic.
+> This type implements the interface. When you've finished using the type, you should dispose of it either directly (by calling its `Dispose` method) or indirectly (with a language construct such as `using` in C#). For more information, see [Use an object that implements IDisposable](xref:System.IDisposable#use-an-object-that-implements-idisposable).
]]>
diff --git a/xml/System.ComponentModel.Composition.Hosting/CompositionService.xml b/xml/System.ComponentModel.Composition.Hosting/CompositionService.xml
index 8fcd61ce4dd..ecd9dae0012 100644
--- a/xml/System.ComponentModel.Composition.Hosting/CompositionService.xml
+++ b/xml/System.ComponentModel.Composition.Hosting/CompositionService.xml
@@ -37,7 +37,7 @@
## Remarks
> [!IMPORTANT]
-> This type implements the interface. When you have finished using the type, you should dispose of it either directly or indirectly. To dispose of the type directly, call its method in a `try`/`catch` block. To dispose of it indirectly, use a language construct such as `using` (in C#) or `Using` (in Visual Basic). For more information, see the "Using an Object that Implements IDisposable" section in the interface topic.
+> This type implements the interface. When you've finished using the type, you should dispose of it either directly (by calling its `Dispose` method) or indirectly (with a language construct such as `using` in C#). For more information, see [Use an object that implements IDisposable](xref:System.IDisposable#use-an-object-that-implements-idisposable).
]]>
diff --git a/xml/System.ComponentModel.Composition.Hosting/DirectoryCatalog.xml b/xml/System.ComponentModel.Composition.Hosting/DirectoryCatalog.xml
index 7fd48518da8..582e65ce803 100644
--- a/xml/System.ComponentModel.Composition.Hosting/DirectoryCatalog.xml
+++ b/xml/System.ComponentModel.Composition.Hosting/DirectoryCatalog.xml
@@ -48,11 +48,10 @@
You can use a object to parse the contents of a designated directory. Any attributed parts contained in dynamic link library (DLL) files are extracted and made available through the catalog.To restrict parsing to specific DLLs, you can specify a search pattern by using the same syntax as the method.
> [!WARNING]
-> The designated directory should not allow access to non-administrators. For example, using a folder that contains temporary Internet files could create vulnerabilities in your application.
-
- This type implements the interface. When you have finished using the type, you should dispose of it either directly or indirectly. To dispose of the type directly, call its method in a `try`/`catch` block. To dispose of it indirectly, use a language construct such as `using` (in C#) or `Using` (in Visual Basic). For more information, see the "Using an Object that Implements IDisposable" section in the interface topic.
-
+> The designated directory should not allow access to non-administrators. For example, using a folder that contains temporary Internet files could create vulnerabilities in your application.
+> [!IMPORTANT]
+> This type implements the interface. When you've finished using the type, you should dispose of it either directly (by calling its `Dispose` method) or indirectly (with a language construct such as `using` in C#). For more information, see [Use an object that implements IDisposable](xref:System.IDisposable#use-an-object-that-implements-idisposable).
## Examples
The following example creates a object that searches the directory the application runs from for parts. It uses a simple import to test the catalog. To fulfill this import, a DLL in the directory must have a matching export, as illustrated in the second code block.
diff --git a/xml/System.ComponentModel.Composition.Hosting/FilteredCatalog.xml b/xml/System.ComponentModel.Composition.Hosting/FilteredCatalog.xml
index 5fa2ff6df2f..e18963db411 100644
--- a/xml/System.ComponentModel.Composition.Hosting/FilteredCatalog.xml
+++ b/xml/System.ComponentModel.Composition.Hosting/FilteredCatalog.xml
@@ -40,7 +40,7 @@
## Remarks
> [!IMPORTANT]
-> This type implements the interface. When you have finished using the type, you should dispose of it either directly or indirectly. To dispose of the type directly, call its method in a `try`/`catch` block. To dispose of it indirectly, use a language construct such as `using` (in C#) or `Using` (in Visual Basic). For more information, see the "Using an Object that Implements IDisposable" section in the interface topic.
+> This type implements the interface. When you've finished using the type, you should dispose of it either directly (by calling its `Dispose` method) or indirectly (with a language construct such as `using` in C#). For more information, see [Use an object that implements IDisposable](xref:System.IDisposable#use-an-object-that-implements-idisposable).
]]>
diff --git a/xml/System.ComponentModel.Composition.Hosting/ImportEngine.xml b/xml/System.ComponentModel.Composition.Hosting/ImportEngine.xml
index ab6aa53b35e..c25cbc28a2d 100644
--- a/xml/System.ComponentModel.Composition.Hosting/ImportEngine.xml
+++ b/xml/System.ComponentModel.Composition.Hosting/ImportEngine.xml
@@ -44,7 +44,7 @@
This class is used internally by . You should generally not use it unless you are authoring a container.
> [!IMPORTANT]
-> This type implements the interface. When you have finished using the type, you should dispose of it either directly or indirectly. To dispose of the type directly, call its method in a `try`/`catch` block. To dispose of it indirectly, use a language construct such as `using` (in C#) or `Using` (in Visual Basic). For more information, see the "Using an Object that Implements IDisposable" section in the interface topic.
+> This type implements the interface. When you've finished using the type, you should dispose of it either directly (by calling its `Dispose` method) or indirectly (with a language construct such as `using` in C#). For more information, see [Use an object that implements IDisposable](xref:System.IDisposable#use-an-object-that-implements-idisposable).
]]>
diff --git a/xml/System.ComponentModel.Composition.Hosting/TypeCatalog.xml b/xml/System.ComponentModel.Composition.Hosting/TypeCatalog.xml
index 2f2250752a3..c463e5fbe9a 100644
--- a/xml/System.ComponentModel.Composition.Hosting/TypeCatalog.xml
+++ b/xml/System.ComponentModel.Composition.Hosting/TypeCatalog.xml
@@ -44,7 +44,7 @@
## Remarks
> [!IMPORTANT]
-> This type implements the interface. When you have finished using the type, you should dispose of it either directly or indirectly. To dispose of the type directly, call its method in a `try`/`catch` block. To dispose of it indirectly, use a language construct such as `using` (in C#) or `Using` (in Visual Basic). For more information, see the "Using an Object that Implements IDisposable" section in the interface topic.
+> This type implements the interface. When you've finished using the type, you should dispose of it either directly (by calling its `Dispose` method) or indirectly (with a language construct such as `using` in C#). For more information, see [Use an object that implements IDisposable](xref:System.IDisposable#use-an-object-that-implements-idisposable).
This class is thread safe.
diff --git a/xml/System.ComponentModel.Composition.Primitives/ComposablePartCatalog.xml b/xml/System.ComponentModel.Composition.Primitives/ComposablePartCatalog.xml
index ec151feeeee..9caeb1c53f7 100644
--- a/xml/System.ComponentModel.Composition.Primitives/ComposablePartCatalog.xml
+++ b/xml/System.ComponentModel.Composition.Primitives/ComposablePartCatalog.xml
@@ -50,7 +50,7 @@
## Remarks
> [!IMPORTANT]
-> This type implements the interface. When you have finished using the type, you should dispose of it either directly or indirectly. To dispose of the type directly, call its method in a `try`/`catch` block. To dispose of it indirectly, use a language construct such as `using` (in C#) or `Using` (in Visual Basic). For more information, see the "Using an Object that Implements IDisposable" section in the interface topic.
+> This type implements the interface. When you've finished using the type, you should dispose of it either directly (by calling its `Dispose` method) or indirectly (with a language construct such as `using` in C#). For more information, see [Use an object that implements IDisposable](xref:System.IDisposable#use-an-object-that-implements-idisposable).
This type is thread safe.
diff --git a/xml/System.ComponentModel.Composition/ExportLifetimeContext`1.xml b/xml/System.ComponentModel.Composition/ExportLifetimeContext`1.xml
index f47fd568da6..231a2933f3c 100644
--- a/xml/System.ComponentModel.Composition/ExportLifetimeContext`1.xml
+++ b/xml/System.ComponentModel.Composition/ExportLifetimeContext`1.xml
@@ -51,7 +51,7 @@
## Remarks
> [!IMPORTANT]
-> This type implements the interface. When you have finished using the type, you should dispose of it either directly or indirectly. To dispose of the type directly, call its method in a `try`/`catch` block. To dispose of it indirectly, use a language construct such as `using` (in C#) or `Using` (in Visual Basic). For more information, see the "Using an Object that Implements IDisposable" section in the interface topic.
+> This type implements the interface. When you've finished using the type, you should dispose of it either directly (by calling its `Dispose` method) or indirectly (with a language construct such as `using` in C#). For more information, see [Use an object that implements IDisposable](xref:System.IDisposable#use-an-object-that-implements-idisposable).
]]>
diff --git a/xml/System.Diagnostics/DelimitedListTraceListener.xml b/xml/System.Diagnostics/DelimitedListTraceListener.xml
index 2f76a8b3e15..3823f7a0592 100644
--- a/xml/System.Diagnostics/DelimitedListTraceListener.xml
+++ b/xml/System.Diagnostics/DelimitedListTraceListener.xml
@@ -61,13 +61,13 @@
> This type implements the interface. When you have finished using the type, you should dispose of it either directly or indirectly. To dispose of the type directly, call its method in a `try`/`catch` block. To dispose of it indirectly, use a language construct such as `using` (in C#) or `Using` (in Visual Basic). For more information, see the "Using an Object that Implements IDisposable" section in the interface docs.
> [!NOTE]
-> The delimits only text that is emitted by using the methods that have names starting with the word `Trace`, such as or . Trace data that is emitted by using the and methods is not delimited.
+> The delimits only text that is emitted by using the methods that have names starting with the word `Trace`, such as or . Trace data that is emitted by using the and methods is not delimited.
> [!NOTE]
-> If you try to write to a file that is in use or unavailable, the file name is automatically prefixed by a GUID.
+> If you try to write to a file that is in use or unavailable, the file name is automatically prefixed by a GUID.
> [!NOTE]
-> Listeners are intended to be used by methods of the , , and classes to write trace information. Listener methods, except for constructors, should not be called directly from application code.
+> Listeners are intended to be used by methods of the , , and classes to write trace information. Listener methods, except for constructors, should not be called directly from application code.
]]>
@@ -414,7 +414,7 @@
This constructor initializes a new instance of the class for the specified file on the specified path, using encoding. If the file exists, it is appended to. If the file does not exist, a new file is created.
> [!NOTE]
-> To reduce the chance of an exception, any character that might invalidate the output is replaced with a "?" character.
+> To reduce the chance of an exception, any character that might invalidate the output is replaced with a "?" character.
The property is set to the value of the `name` parameter, or to an empty string ("") if the `name` parameter is `null`. The property can be used as an index into the `Listeners` collection to programmatically change the properties for the listener. For example, the following code sets the property for the instance of that has the name "delimListener":
@@ -597,7 +597,7 @@ A custom attribute is an attribute that is not inherited from the base class tha
The values of the `source`, `eventType`, and `id` parameters are written as a header. The data object is converted to a string using the `ToString` method of the object. The `eventCache` data is written as a footer whose content depends on the value of the property.
> [!IMPORTANT]
-> The method is not intended to be called by application code. It is called by methods of the , , and classes to write trace data.
+> The method is not intended to be called by application code. It is called by methods of the , , and classes to write trace data.
]]>
@@ -675,7 +675,7 @@ A custom attribute is an attribute that is not inherited from the base class tha
The values of the `source`, `eventType`, and `id` parameters are written as a header. The data objects are converted to strings using the `ToString` method of each object. The `eventCache` data is written as a footer whose content depends on the value of the property.
> [!IMPORTANT]
-> The method is not intended to be called by application code. It is called by methods of the , , and classes to write trace data.
+> The method is not intended to be called by application code. It is called by methods of the , , and classes to write trace data.
]]>
@@ -756,7 +756,7 @@ A custom attribute is an attribute that is not inherited from the base class tha
The values of the `source`, `eventType`, and `id` parameters are written as a header, followed by the `message` data. The `eventCache` data is written as a footer whose content depends on the value of the property.
> [!IMPORTANT]
-> The method is not intended to be called by application code. It is called by methods of the , , and classes to write trace data.
+> The method is not intended to be called by application code. It is called by methods of the , , and classes to write trace data.
]]>
@@ -844,7 +844,7 @@ A custom attribute is an attribute that is not inherited from the base class tha
The values of the `source`, `eventType`, and `id` parameters are written as a header. The `args` object array is converted to a string using the method, passing the `format` string and `args` array to format the string as the message portion of the trace. The `eventCache` data is written as a footer whose content depends on the value of the property.
> [!IMPORTANT]
-> The method is not intended to be called by application code. It is called by methods of the , , and classes to write trace data.
+> The method is not intended to be called by application code. It is called by methods of the , , and classes to write trace data.
]]>
diff --git a/xml/System.Diagnostics/EventLogEntry.xml b/xml/System.Diagnostics/EventLogEntry.xml
index d27d2daf273..f5d5232e69d 100644
--- a/xml/System.Diagnostics/EventLogEntry.xml
+++ b/xml/System.Diagnostics/EventLogEntry.xml
@@ -58,9 +58,7 @@
You usually will not create instances of directly when working with the class. The member of the class contains a collection of instances, which you iterate over when reading by using the class index member.
> [!IMPORTANT]
-> This type implements the interface. When you have finished using the type, you should dispose of it either directly or indirectly. To dispose of the type directly, call its method in a `try`/`catch` block. To dispose of it indirectly, use a language construct such as `using` (in C#) or `Using` (in Visual Basic). For more information, see the "Using an Object that Implements IDisposable" section in the interface topic.
-
-
+> This type implements the interface. When you've finished using the type, you should dispose of it either directly (by calling its `Dispose` method) or indirectly (with a language construct such as `using` in C#). For more information, see [Use an object that implements IDisposable](xref:System.IDisposable#use-an-object-that-implements-idisposable).
## Examples
The following code example demonstrates the use of the class. In this example, a `switch` statement uses console input to search for event log entries for the specified event type. If a match is found, log entry source information is displayed at the console.
diff --git a/xml/System.Diagnostics/Process.xml b/xml/System.Diagnostics/Process.xml
index 6340f5d932a..21ac5addef6 100644
--- a/xml/System.Diagnostics/Process.xml
+++ b/xml/System.Diagnostics/Process.xml
@@ -84,7 +84,7 @@
[!INCLUDE [untrusted-data-class-note](~/includes/untrusted-data-class-note.md)]
> [!NOTE]
-> 32-bit processes cannot access the modules of a 64-bit process. If you try to get information about a 64-bit process from a 32-bit process, you will get a exception. A 64-bit process, on the other hand, can access the modules of a 32-bit process.
+> 32-bit processes cannot access the modules of a 64-bit process. If you try to get information about a 64-bit process from a 32-bit process, you will get a exception. A 64-bit process, on the other hand, can access the modules of a 32-bit process.
The process component obtains information about a group of properties all at once. After the component has obtained information about one member of any group, it will cache the values for the other properties in that group and not obtain new information about the other members of the group until you call the method. Therefore, a property value is not guaranteed to be any newer than the last call to the method. The group breakdowns are operating-system dependent.
@@ -333,7 +333,7 @@ On macOS, the following properties return 0:
You can cancel an asynchronous read operation by calling . The read operation can be canceled by the caller or by the event handler. After canceling, you can call again to resume asynchronous read operations.
> [!NOTE]
-> You cannot mix asynchronous and synchronous read operations on a redirected stream. Once the redirected stream of a is opened in either asynchronous or synchronous mode, all further read operations on that stream must be in the same mode. For example, do not follow with a call to on the stream, or vice versa. However, you can read two different streams in different modes. For example, you can call and then call for the stream.
+> You cannot mix asynchronous and synchronous read operations on a redirected stream. Once the redirected stream of a is opened in either asynchronous or synchronous mode, all further read operations on that stream must be in the same mode. For example, do not follow with a call to on the stream, or vice versa. However, you can read two different streams in different modes. For example, you can call and then call for the stream.
@@ -426,7 +426,7 @@ On macOS, the following properties return 0:
You can cancel an asynchronous read operation by calling . The read operation can be canceled by the caller or by the event handler. After canceling, you can call again to resume asynchronous read operations.
> [!NOTE]
-> You cannot mix asynchronous and synchronous read operations on a redirected stream. Once the redirected stream of a is opened in either asynchronous or synchronous mode, all further read operations on that stream must be in the same mode. For example, do not follow with a call to on the stream, or vice versa. However, you can read two different streams in different modes. For example, you can call and then call for the stream.
+> You cannot mix asynchronous and synchronous read operations on a redirected stream. Once the redirected stream of a is opened in either asynchronous or synchronous mode, all further read operations on that stream must be in the same mode. For example, do not follow with a call to on the stream, or vice versa. However, you can read two different streams in different modes. For example, you can call and then call for the stream.
@@ -523,7 +523,7 @@ process.BeginErrorReadLine();
```
> [!NOTE]
-> You cannot mix asynchronous and synchronous read operations on the redirected stream. Once the redirected stream of a is opened in either asynchronous or synchronous mode, all further read operations on that stream must be in the same mode. If you cancel an asynchronous read operation on and then need to read from the stream again, you must use to resume asynchronous read operations. Do not follow with a call to the synchronous read methods of such as , , or .
+> You cannot mix asynchronous and synchronous read operations on the redirected stream. Once the redirected stream of a is opened in either asynchronous or synchronous mode, all further read operations on that stream must be in the same mode. If you cancel an asynchronous read operation on and then need to read from the stream again, you must use to resume asynchronous read operations. Do not follow with a call to the synchronous read methods of such as , , or .
@@ -610,7 +610,7 @@ process.BeginOutputReadLine();
```
> [!NOTE]
-> You cannot mix asynchronous and synchronous read operations on the redirected stream. Once the redirected stream of a is opened in either asynchronous or synchronous mode, all further read operations on that stream must be in the same mode. If you cancel an asynchronous read operation on and then need to read from the stream again, you must use to resume asynchronous read operations. Do not follow with a call to the synchronous read methods of such as , , or .
+> You cannot mix asynchronous and synchronous read operations on the redirected stream. Once the redirected stream of a is opened in either asynchronous or synchronous mode, all further read operations on that stream must be in the same mode. If you cancel an asynchronous read operation on and then need to read from the stream again, you must use to resume asynchronous read operations. Do not follow with a call to the synchronous read methods of such as , , or .
@@ -677,7 +677,7 @@ process.BeginOutputReadLine();
The method causes the process to stop waiting for exit if it was waiting, closes the process handle, and clears process-specific properties. does not close the standard output, input, and error readers and writers in case they are being referenced externally.
> [!NOTE]
-> The method calls . Placing the object in a `using` block disposes of resources without the need to call .
+> The method calls . Placing the object in a `using` block disposes of resources without the need to call .
@@ -1030,7 +1030,7 @@ The following code example creates a process that prints a file. It sets the . To start asynchronous read operations, you must redirect the stream of a , add your event handler to the event, and call . Thereafter, the event signals each time the process writes a line to the redirected stream, until the process exits or calls .
> [!NOTE]
-> The application that is processing the asynchronous output should call the method to ensure that the output buffer has been flushed. Note that specifying a timeout by using the overload does *not* ensure the output buffer has been flushed.
+> The application that is processing the asynchronous output should call the method to ensure that the output buffer has been flushed. Note that specifying a timeout by using the overload does *not* ensure the output buffer has been flushed.
@@ -1103,7 +1103,7 @@ The following code example creates a process that prints a file. It sets the before the process has exited, the attempt throws an exception. Examine the property first to verify whether the associated process has terminated.
> [!NOTE]
-> When standard output has been redirected to asynchronous event handlers, it is possible that output processing will not have completed when returns `true`. To ensure that asynchronous event handling has been completed, call the overload that takes no parameter before checking .
+> When standard output has been redirected to asynchronous event handlers, it is possible that output processing will not have completed when returns `true`. To ensure that asynchronous event handling has been completed, call the overload that takes no parameter before checking .
You can use the or the method to cause an associated process to exit.
@@ -1183,7 +1183,7 @@ The following code example creates a process that prints a file. It sets the and that the operating system maintains until it releases that handle completely.
> [!NOTE]
-> Even if you have a handle to an exited process, you cannot call again to reconnect to the same process. Calling automatically releases the associated process and connects to a process with the same file but an entirely new .
+> Even if you have a handle to an exited process, you cannot call again to reconnect to the same process. Calling automatically releases the associated process and connects to a process with the same file but an entirely new .
For more information about the use of the