diff --git a/snippets/csharp/System.Data.Linq/TableAttribute/Overview/Program.cs b/snippets/csharp/System.Data.Linq/TableAttribute/Overview/Program.cs
new file mode 100644
index 00000000000..cfdf4858bdf
--- /dev/null
+++ b/snippets/csharp/System.Data.Linq/TableAttribute/Overview/Program.cs
@@ -0,0 +1,101 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Data.Linq;
+using System.Data.Linq.Mapping;
+
+namespace cs_maketables
+{
+ class Program
+ {
+ static void Main(string[] args)
+ {
+ }
+ }
+
+ //
+ [Table(Name = "Customers")]
+ public class Customer
+ {
+ // ...
+ }
+ //
+
+ //
+ [Table(Name = "Customers")]
+ public class customer
+ {
+ [Column(Name = "CustomerID")]
+ public string CustomerID;
+ // ...
+ }
+ //
+}
+
+//
+[Table(Name = "Customers")]
+public partial class Customer
+{
+ [Column(IsPrimaryKey = true)]
+ public string CustomerID;
+ // ...
+ private EntitySet _Orders;
+ [Association(Storage = "_Orders", OtherKey = "CustomerID")]
+ public EntitySet Orders
+ {
+ get { return this._Orders; }
+ set { this._Orders.Assign(value); }
+ }
+}
+//
+
+//
+[Table]
+[InheritanceMapping(Code = "C", Type = typeof(Car))]
+[InheritanceMapping(Code = "T", Type = typeof(Truck))]
+[InheritanceMapping(Code = "V", Type = typeof(Vehicle),
+ IsDefault = true)]
+public class Vehicle
+{
+ [Column(IsDiscriminator = true)]
+ public string DiscKey;
+ [Column(IsPrimaryKey = true)]
+ public string VIN;
+ [Column]
+ public string MfgPlant;
+}
+public class Car : Vehicle
+{
+ [Column]
+ public int TrimCode;
+ [Column]
+ public string ModelName;
+}
+
+public class Truck : Vehicle
+{
+ [Column]
+ public int Tonnage;
+ [Column]
+ public int Axles;
+}
+//
+
+//
+[Table(Name = "Orders")]
+public class Order
+{
+ [Column(IsPrimaryKey = true)]
+ public int OrderID;
+ [Column]
+ public string CustomerID;
+ private EntityRef _Customer;
+ [Association(Storage = "_Customer", ThisKey = "CustomerID")]
+ public Customer Customer
+ {
+ get { return this._Customer.Entity; }
+ set { this._Customer.Entity = value; }
+ }
+}
+//
diff --git a/snippets/csharp/System.Data.Linq/TableAttribute/Overview/Project.csproj b/snippets/csharp/System.Data.Linq/TableAttribute/Overview/Project.csproj
new file mode 100644
index 00000000000..eb2b274fcac
--- /dev/null
+++ b/snippets/csharp/System.Data.Linq/TableAttribute/Overview/Project.csproj
@@ -0,0 +1,12 @@
+
+
+
+ Library
+ net48
+
+
+
+
+
+
+
diff --git a/snippets/visualbasic/System.Data.Linq/TableAttribute/Overview/Module1.vb b/snippets/visualbasic/System.Data.Linq/TableAttribute/Overview/Module1.vb
new file mode 100644
index 00000000000..03fe361db5b
--- /dev/null
+++ b/snippets/visualbasic/System.Data.Linq/TableAttribute/Overview/Module1.vb
@@ -0,0 +1,104 @@
+Imports System.Data.Linq
+Imports System.Data.Linq.Mapping
+
+Module Module1
+ Sub Main()
+
+ End Sub
+
+End Module
+
+'
+
+Public Class Customer
+ ' ...
+End Class
+'
+
+Namespace ns
+
+ '
+
+ Public Class Customer
+
+ Public CustomerID As String
+ ' ...
+ End Class
+ '
+
+End Namespace
+
+Namespace ns2
+
+ '
+
+ Public Class Customer
+
+ Public CustomerID As String
+ ' ...
+ Private _orders As EntitySet(Of Order)
+
+ Public Property Orders() As EntitySet(Of Order)
+ Get
+ Return _orders
+ End Get
+ Set(ByVal value As EntitySet(Of Order))
+ _orders.Assign(value)
+ End Set
+ End Property
+ End Class
+ '
+
+ '
+
+
+
+
+ Public Class Vehicle
+
+ Private _discKey As String
+
+ Private _vIN As String
+
+ Private _mfgPlant As String
+ End Class
+
+ Public Class Car
+ Inherits Vehicle
+
+ Private _trimCode As Integer
+
+ Private _modelName As String
+ End Class
+
+ Public Class Truck
+ Inherits Vehicle
+
+ Private _tonnage As Integer
+
+ Private _axles As Integer
+ End Class
+ '
+
+ '
+
+ Public Class Order
+
+ Public OrderID As Integer
+
+ Public CustomerID As String
+ Private _customer As EntityRef(Of Customer)
+
+ Public Property Customer() As Customer
+ Get
+ Return _customer.Entity
+ End Get
+ Set(ByVal value As Customer)
+ _customer.Entity = value
+ End Set
+ End Property
+ End Class
+ '
+
+End Namespace
diff --git a/snippets/visualbasic/System.Data.Linq/TableAttribute/Overview/Project.vbproj b/snippets/visualbasic/System.Data.Linq/TableAttribute/Overview/Project.vbproj
new file mode 100644
index 00000000000..c4963049dfd
--- /dev/null
+++ b/snippets/visualbasic/System.Data.Linq/TableAttribute/Overview/Project.vbproj
@@ -0,0 +1,12 @@
+
+
+
+ Exe
+ net48
+
+
+
+
+
+
+
diff --git a/xml/Microsoft.CSharp/CSharpCodeProvider.xml b/xml/Microsoft.CSharp/CSharpCodeProvider.xml
index 6adfb45b785..e6210c823f7 100644
--- a/xml/Microsoft.CSharp/CSharpCodeProvider.xml
+++ b/xml/Microsoft.CSharp/CSharpCodeProvider.xml
@@ -174,7 +174,7 @@ In .NET Framework apps, you can obtain the value for `providerOptions` from the
Configuration file schema for the .NET Framework
<compilers> Element
- Specifying Fully Qualified Type Names
+ Specifying Fully Qualified Type Names
<provideroption> Element
diff --git a/xml/Microsoft.CSharp/Compiler.xml b/xml/Microsoft.CSharp/Compiler.xml
index 9201f765c4d..60e896f92b5 100644
--- a/xml/Microsoft.CSharp/Compiler.xml
+++ b/xml/Microsoft.CSharp/Compiler.xml
@@ -79,29 +79,29 @@ For the `options` parameter, the key is the short form of the compiler option. T
| Key Name | Usage |
| --- | --- |
-| `addmodule` | List of modules to include in this assembly. The module names must be separated by the vertical bar or pipe character. Value must be of type . See [-addmodule (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/addmodule-compiler-option). |
-| `baseaddress` | Base address for libraries. Value must be of type . See [-baseaddress (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/baseaddress-compiler-option). |
-| `bugreport` | Produces bug report file. Value must be of type . See [-bugreport (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/bugreport-compiler-option). |
-| `checked` | Set default expression evaluation to checked (or unchecked). Value must be of type . See [-checked (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/checked-compiler-option). |
-| `d` | List of semicolon separated symbols to define. Value must be of type . See [-define (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/define-compiler-option). |
-| `debug` | Emit debug information with output. Value must be of type . Full or pdb-only cannot be specified. See [-debug (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/debug-compiler-option). |
-| `doc` | File name to put XML comments in. Value must be of type . See [-doc (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/doc-compiler-option). |
-| `filealign` | PE section alignment size. Value must be of type . See [-filealign (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/filealign-compiler-option). |
+| `addmodule` | List of modules to include in this assembly. The module names must be separated by the vertical bar or pipe character. Value must be of type . See [-addmodule (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/inputs). |
+| `baseaddress` | Base address for libraries. Value must be of type . See [-baseaddress (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/advanced). |
+| `bugreport` | Produces bug report file. Value must be of type . See [-bugreport (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/). |
+| `checked` | Set default expression evaluation to checked (or unchecked). Value must be of type . See [-checked (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/language). |
+| `d` | List of semicolon separated symbols to define. Value must be of type . See [-define (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/language). |
+| `debug` | Emit debug information with output. Value must be of type . Full or pdb-only cannot be specified. See [-debug (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/code-generation). |
+| `doc` | File name to put XML comments in. Value must be of type . See [-doc (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/output). |
+| `filealign` | PE section alignment size. Value must be of type . See [-filealign (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/advanced). |
| `incr` | Enable incremental rebuild. Value must be of type . |
-| `lib` | Additional paths to search when locating modules and referenced assemblies. Value must be of type . See [-lib (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/lib-compiler-option). |
-| `linkres` | Link a managed resource to the assembly. Value must be of type . See [-linkresource (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/linkresource-compiler-option). |
-| `m` | Type to search in for the Main method. Value must be of type . See [-main (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/main-compiler-option). |
-| `nostdlib` | Do not auto-reference mscorlib.dll. Value must be of type . See [-nostdlib (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/nostdlib-compiler-option). |
-| `nowarn` | List of semicolon separated warning numbers to not report. Value must be of type . See [-nowarn (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/nowarn-compiler-option). |
-| `o` | Enable compiler optimizations. Value must be of type . See [-optimize (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/optimize-compiler-option). |
-| `r` | Referenced assemblies. Value must be of type String. If more than one assembly is specified, the file name must be separated by the vertical bar or pipe character. See [-reference (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/reference-compiler-option). |
-| `res` | Embed a managed resource. Value must be of type . See [-resource (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/resource-compiler-option). |
-| `target` | Output file target type, one of the following: "library", "exe", "winexe", or "module". Value must be of type . See [-target (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/target-compiler-option). |
-| `unsafe` | Allow unsafe constructs. Value must be of type . See [-unsafe (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/unsafe-compiler-option). |
-| `w` | Warning level (0-4). Value must be of type . See [-warn (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/warn-compiler-option). |
-| `warnaserror` | Report warning diagnostics as errors. Value must be of type . See [-warnaserror (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/warnaserror-compiler-option). |
-| `win32icon` | Win32 icon for auto generated Win32 resource. Value must be of type . See [-win32icon (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/win32icon-compiler-option). |
-| `win32res` | Win32 resource file. Value must be of type . See [-win32res (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/win32res-compiler-option). |
+| `lib` | Additional paths to search when locating modules and referenced assemblies. Value must be of type . See [-lib (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/advanced). |
+| `linkres` | Link a managed resource to the assembly. Value must be of type . See [-linkresource (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/resources). |
+| `m` | Type to search in for the Main method. Value must be of type . See [-main (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/advanced). |
+| `nostdlib` | Do not auto-reference mscorlib.dll. Value must be of type . See [-nostdlib (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/advanced). |
+| `nowarn` | List of semicolon separated warning numbers to not report. Value must be of type . See [-nowarn (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/errors-warnings). |
+| `o` | Enable compiler optimizations. Value must be of type . See [-optimize (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/code-generation). |
+| `r` | Referenced assemblies. Value must be of type String. If more than one assembly is specified, the file name must be separated by the vertical bar or pipe character. See [-reference (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/inputs). |
+| `res` | Embed a managed resource. Value must be of type . See [-resource (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/resources). |
+| `target` | Output file target type, one of the following: "library", "exe", "winexe", or "module". Value must be of type . See [-target (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/output). |
+| `unsafe` | Allow unsafe constructs. Value must be of type . See [-unsafe (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/language). |
+| `w` | Warning level (0-4). Value must be of type . See [-warn (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/errors-warnings). |
+| `warnaserror` | Report warning diagnostics as errors. Value must be of type . See [-warnaserror (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/errors-warnings). |
+| `win32icon` | Win32 icon for auto generated Win32 resource. Value must be of type . See [-win32icon (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/resources). |
+| `win32res` | Win32 resource file. Value must be of type . See [-win32res (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/resources). |
]]>
@@ -124,8 +124,8 @@ For the `options` parameter, the key is the short form of the compiler option. T
is not the same size as .
- #line (C# Reference)
- -reference (C# Compiler Options)
+ #line (C# Reference)
+ -reference (C# Compiler Options)
C# Compiler Options
diff --git a/xml/System.AddIn.Contract.Automation/RemoteParameterData.xml b/xml/System.AddIn.Contract.Automation/RemoteParameterData.xml
index f4ef29e751a..295045d1f6f 100644
--- a/xml/System.AddIn.Contract.Automation/RemoteParameterData.xml
+++ b/xml/System.AddIn.Contract.Automation/RemoteParameterData.xml
@@ -128,7 +128,7 @@
The value of this field is always `false` if this describes a parameter of a method provided by a COM object.
- Parameters that can have a variable number of arguments are specified by the `params` (for Visual C#) and `ParamArray` (for Visual Basic) keywords. For more information, see [params](/dotnet/csharp/language-reference/keywords/params) and [ParamArray](/dotnet/visual-basic/language-reference/modifiers/paramarray).
+ Parameters that can have a variable number of arguments are specified by the `params` (for Visual C#) and `ParamArray` (for Visual Basic) keywords. For more information, see [params](/dotnet/csharp/language-reference/keywords/method-parameters) and [ParamArray](/dotnet/visual-basic/language-reference/modifiers/paramarray).
]]>
diff --git a/xml/System.CodeDom.Compiler/CodeCompiler.xml b/xml/System.CodeDom.Compiler/CodeCompiler.xml
index 5c9ea251248..fae837e63eb 100644
--- a/xml/System.CodeDom.Compiler/CodeCompiler.xml
+++ b/xml/System.CodeDom.Compiler/CodeCompiler.xml
@@ -44,7 +44,7 @@
is a useful utility base class for code generators to derive from in order to provide code compilation functions.
> [!NOTE]
-> This class contains a link demand and an inheritance demand at the class level that applies to all members. A is thrown when either the immediate caller or the derived class does not have full-trust permission. For details about security demands, see [Link Demands](/dotnet/framework/misc/link-demands).
+> This class contains a link demand and an inheritance demand at the class level that applies to all members. A is thrown when either the immediate caller or the derived class does not have full-trust permission.
]]>
diff --git a/xml/System.CodeDom.Compiler/CodeDomProvider.xml b/xml/System.CodeDom.Compiler/CodeDomProvider.xml
index 749243d1ded..617f2f1f098 100644
--- a/xml/System.CodeDom.Compiler/CodeDomProvider.xml
+++ b/xml/System.CodeDom.Compiler/CodeDomProvider.xml
@@ -59,7 +59,7 @@
For more details on language provider settings in the configuration file, see [Compiler and Language Provider Settings Schema](/dotnet/framework/configure-apps/file-schema/compiler/).
> [!NOTE]
-> This class makes a link demand and an inheritance demand at the class level. A is thrown if either the immediate caller or the derived class does not have full trust permission. For details about security demands, see [Link Demands](/dotnet/framework/misc/link-demands).
+> This class makes a link demand and an inheritance demand at the class level. A is thrown if either the immediate caller or the derived class does not have full trust permission.
diff --git a/xml/System.CodeDom.Compiler/CodeGenerator.xml b/xml/System.CodeDom.Compiler/CodeGenerator.xml
index b70dc2ad7c4..a83b0b1414e 100644
--- a/xml/System.CodeDom.Compiler/CodeGenerator.xml
+++ b/xml/System.CodeDom.Compiler/CodeGenerator.xml
@@ -44,7 +44,7 @@
This is a useful base class for code generators to derive from. Code generators are capable of rendering source code in a specific language according to the structure of a Code Document Object Model (CodeDOM) graph. This class provides many functions and methods to generate specific types of code from a CodeDOM graph.
> [!NOTE]
-> This class contains a link demand and an inheritance demand at the class level that applies to all members. A is thrown when either the immediate caller or the derived class does not have full-trust permission. For details about security demands, see [Link Demands](/dotnet/framework/misc/link-demands).
+> This class contains a link demand and an inheritance demand at the class level that applies to all members. A is thrown when either the immediate caller or the derived class does not have full-trust permission.
]]>
diff --git a/xml/System.CodeDom.Compiler/CodeGeneratorOptions.xml b/xml/System.CodeDom.Compiler/CodeGeneratorOptions.xml
index 11f8f9133e6..e7fac11673b 100644
--- a/xml/System.CodeDom.Compiler/CodeGeneratorOptions.xml
+++ b/xml/System.CodeDom.Compiler/CodeGeneratorOptions.xml
@@ -44,7 +44,7 @@
An implementation can provide custom code generation options which you can set or pass data to using the dictionary indexer, which a code generator can search through to locate additional code generation options.
> [!NOTE]
-> This class contains a link demand and an inheritance demand at the class level that applies to all members. A is thrown when either the immediate caller or the derived class does not have full-trust permission. For details about security demands, see [Link Demands](/dotnet/framework/misc/link-demands).
+> This class contains a link demand and an inheritance demand at the class level that applies to all members. A is thrown when either the immediate caller or the derived class does not have full-trust permission.
diff --git a/xml/System.CodeDom.Compiler/CodeParser.xml b/xml/System.CodeDom.Compiler/CodeParser.xml
index e2322973a3c..8d1c4d26cbc 100644
--- a/xml/System.CodeDom.Compiler/CodeParser.xml
+++ b/xml/System.CodeDom.Compiler/CodeParser.xml
@@ -44,7 +44,7 @@
Developers who build compilers can implement this interface to support code parsing by designers.
> [!NOTE]
-> This class contains a link demand and an inheritance demand at the class level that applies to all members. A is thrown when either the immediate caller or the derived class does not have full-trust permission. For details about security demands, see [Link Demands](/dotnet/framework/misc/link-demands).
+> This class contains a link demand and an inheritance demand at the class level that applies to all members. A is thrown when either the immediate caller or the derived class does not have full-trust permission.
]]>
diff --git a/xml/System.CodeDom.Compiler/CompilerInfo.xml b/xml/System.CodeDom.Compiler/CompilerInfo.xml
index c80eb56978c..a8ba04be442 100644
--- a/xml/System.CodeDom.Compiler/CompilerInfo.xml
+++ b/xml/System.CodeDom.Compiler/CompilerInfo.xml
@@ -47,9 +47,7 @@
For more details on language provider settings in the configuration file, see [Compiler and Language Provider Settings Schema](/dotnet/framework/configure-apps/file-schema/compiler/).
> [!NOTE]
-> This class contains a link demand at the class level that applies to all members. A is thrown when the immediate caller does not have full-trust permission. For details about link demands, see [Link Demands](/dotnet/framework/misc/link-demands).
-
-
+> This class contains a link demand at the class level that applies to all members. A is thrown when the immediate caller does not have full-trust permission.
## Examples
The following code example displays language provider configuration settings. Command-line arguments are used to specify a language, file name extension, or provider type. For the given input, the example determines the corresponding language provider and displays the configured language compiler settings.
diff --git a/xml/System.CodeDom.Compiler/CompilerParameters.xml b/xml/System.CodeDom.Compiler/CompilerParameters.xml
index 23ea29f53ca..e75a12a8d70 100644
--- a/xml/System.CodeDom.Compiler/CompilerParameters.xml
+++ b/xml/System.CodeDom.Compiler/CompilerParameters.xml
@@ -61,7 +61,7 @@
To specify a custom command-line arguments string to use when invoking the compilation process, set the string in the property. If a Win32 security token is required to invoke the compiler process, specify the token in the property. To include .NET Framework resource files in the compiled assembly, add the names of the resource files to the property. To reference .NET Framework resources in another assembly, add the names of the resource files to the property. To include a Win32 resource file in the compiled assembly, specify the name of the Win32 resource file in the property.
> [!NOTE]
-> This class contains a link demand and an inheritance demand at the class level that applies to all members. A is thrown when either the immediate caller or the derived class does not have full-trust permission. For details about security demands, see [Link Demands](/dotnet/framework/misc/link-demands).
+> This class contains a link demand and an inheritance demand at the class level that applies to all members. A is thrown when either the immediate caller or the derived class does not have full-trust permission.
## Examples
The following example builds a CodeDOM source graph for a simple Hello World program. The source is then saved to a file, compiled into an executable, and run. The `CompileCode` method illustrates how to use the class to specify various compiler settings and options.
@@ -903,7 +903,7 @@ An typically includes this string o
The temporary files in the collection are retained or deleted upon the completion of compiler activity based on the value of the property in the collection. The property is set if the collection is created using the constructor with the `keepFiles` parameter set to `true`.
> [!NOTE]
-> This class contains a link demand and an inheritance demand at the class level that applies to all members. A is thrown when either the immediate caller or the derived class does not have full-trust permission. For details about security demands, see [Link Demands](/dotnet/framework/misc/link-demands).
+> This class contains a link demand and an inheritance demand at the class level that applies to all members. A is thrown when either the immediate caller or the derived class does not have full-trust permission.
diff --git a/xml/System.CodeDom.Compiler/Executor.xml b/xml/System.CodeDom.Compiler/Executor.xml
index e70e1915d74..5a19cdb0d9c 100644
--- a/xml/System.CodeDom.Compiler/Executor.xml
+++ b/xml/System.CodeDom.Compiler/Executor.xml
@@ -38,14 +38,14 @@
Provides command execution functions for invoking compilers. This class cannot be inherited.
- implementation.
-
+ implementation.
+
> [!NOTE]
-> This class contains a link demand at the class level that applies to all members. A is thrown when the immediate caller does not have full-trust permission. For more information, see [Link Demands](/dotnet/framework/misc/link-demands).
-
+> This class contains a link demand at the class level that applies to all members. A is thrown when the immediate caller does not have full-trust permission.
+
]]>
@@ -190,11 +190,11 @@
Executes the specified command using the specified user token and temporary files, and waits for the call to return, storing output and error information from the compiler in the specified strings.
The return value from the compiler.
-
diff --git a/xml/System.CodeDom.Compiler/IndentedTextWriter.xml b/xml/System.CodeDom.Compiler/IndentedTextWriter.xml
index c8395689588..74bf268c1a9 100644
--- a/xml/System.CodeDom.Compiler/IndentedTextWriter.xml
+++ b/xml/System.CodeDom.Compiler/IndentedTextWriter.xml
@@ -83,7 +83,7 @@
The tab string is the string that each indentation consists of. Typically the tab string contains white space.
> [!NOTE]
-> This class contains a link demand and an inheritance demand at the class level that applies to all members. A is thrown when either the immediate caller or the derived class does not have full-trust permission. For details about security demands, see [Link Demands](/dotnet/framework/misc/link-demands).
+> This class contains a link demand and an inheritance demand at the class level that applies to all members. A is thrown when either the immediate caller or the derived class does not have full-trust permission.
diff --git a/xml/System.CodeDom.Compiler/TempFileCollection.xml b/xml/System.CodeDom.Compiler/TempFileCollection.xml
index e4d3f142e42..82cb9861722 100644
--- a/xml/System.CodeDom.Compiler/TempFileCollection.xml
+++ b/xml/System.CodeDom.Compiler/TempFileCollection.xml
@@ -71,7 +71,7 @@
The property indicates a full path to the base file name, without a file name extension, used to generate the file names returned by the method.
> [!NOTE]
-> This class contains a link demand and an inheritance demand at the class level that applies to all members. A is thrown when either the immediate caller or the derived class does not have full-trust permission. For details about security demands, see [Link Demands](/dotnet/framework/misc/link-demands).
+> This class contains a link demand and an inheritance demand at the class level that applies to all members. A is thrown when either the immediate caller or the derived class does not have full-trust permission.
diff --git a/xml/System.CodeDom/CodeDefaultValueExpression.xml b/xml/System.CodeDom/CodeDefaultValueExpression.xml
index d150282c526..9464f7a4d28 100644
--- a/xml/System.CodeDom/CodeDefaultValueExpression.xml
+++ b/xml/System.CodeDom/CodeDefaultValueExpression.xml
@@ -53,7 +53,7 @@
## Remarks
A can be used to represent a reference to a default value.
- The property specifies the reference to the value type. The class is used in the generation of generics-based code. For more information on generics, see [Generics in the .NET Framework Class Library](/dotnet/csharp/programming-guide/generics/generics-in-the-net-framework-class-library). The following code steps are provided in this section to further describe the use of the class to add a new default value to a code graph.
+ The property specifies the reference to the value type. The class is used in the generation of generics-based code. For more information on generics, see [Generics in the .NET Framework Class Library](/dotnet/standard/generics/). The following code steps are provided in this section to further describe the use of the class to add a new default value to a code graph.
The code in part 1 is part of a larger example provided for the class. This code, when run through the C# code generator, results in the C# code that appears in part 2. When this code is called in the statement in part 3, the result is the output shown in part 4.
diff --git a/xml/System.CodeDom/CodeTypeDeclaration.xml b/xml/System.CodeDom/CodeTypeDeclaration.xml
index 51df57fbec4..ee8dd24bec2 100644
--- a/xml/System.CodeDom/CodeTypeDeclaration.xml
+++ b/xml/System.CodeDom/CodeTypeDeclaration.xml
@@ -668,7 +668,7 @@ Implements Interface1
## Remarks
A generic type declaration contains one or more unspecified types known as type parameters. A type parameter name stands for the type within the body of the generic declaration. For example, the generic declaration for the class contains the type parameter `T`.
- For more information on generics, see [Generics in the .NET Framework Class Library](/dotnet/csharp/programming-guide/generics/generics-in-the-net-framework-class-library).
+ For more information on generics, see [Generics in the .NET Framework Class Library](/dotnet/standard/generics/).
]]>
diff --git a/xml/System.CodeDom/CodeTypeParameter.xml b/xml/System.CodeDom/CodeTypeParameter.xml
index c859f1a33c2..f3e45ef9134 100644
--- a/xml/System.CodeDom/CodeTypeParameter.xml
+++ b/xml/System.CodeDom/CodeTypeParameter.xml
@@ -55,7 +55,7 @@
A generic type or method declaration contains one or more unspecified types known as type parameters. A type parameter name stands for the type within the body of the generic declaration. For example, the generic declaration for the class contains the type parameter `T`.
- For more information on generics, see [Generics in the .NET Framework Class Library](/dotnet/csharp/programming-guide/generics/generics-in-the-net-framework-class-library).
+ For more information on generics, see [Generics in the .NET Framework Class Library](/dotnet/standard/generics/).
diff --git a/xml/System.Collections.Generic/IEnumerable`1.xml b/xml/System.Collections.Generic/IEnumerable`1.xml
index cc70cc4f5d4..be1f8709256 100644
--- a/xml/System.Collections.Generic/IEnumerable`1.xml
+++ b/xml/System.Collections.Generic/IEnumerable`1.xml
@@ -82,7 +82,7 @@
## Examples
- The following example demonstrates how to implement the interface and how to use that implementation to create a LINQ query. When you implement , you must also implement or, for C# only, you can use the [yield](/dotnet/csharp/language-reference/keywords/yield) keyword. Implementing also requires to be implemented, which you will see in this example.
+ The following example demonstrates how to implement the interface and how to use that implementation to create a LINQ query. When you implement , you must also implement or, for C# only, you can use the [yield](/dotnet/csharp/language-reference/statements/yield) keyword. Implementing also requires to be implemented, which you will see in this example.
:::code language="csharp" source="~/snippets/csharp/System.Collections.Generic/IEnumerableT/Overview/program.cs" id="Snippet1":::
:::code language="vb" source="~/snippets/visualbasic/System.Collections.Generic/IEnumerableT/Overview/module1.vb" id="Snippet1":::
@@ -163,7 +163,7 @@
Default implementations of collections in the namespace aren't synchronized.
## Examples
- The following example demonstrates how to implement the interface and uses that implementation to create a LINQ query. When you implement , you must also implement or, for C# only, you can use the [yield](/dotnet/csharp/language-reference/keywords/yield) keyword. Implementing also requires to be implemented, which you will see in this example.
+ The following example demonstrates how to implement the interface and uses that implementation to create a LINQ query. When you implement , you must also implement or, for C# only, you can use the [yield](/dotnet/csharp/language-reference/statements/yield) keyword. Implementing also requires to be implemented, which you will see in this example.
:::code language="csharp" source="~/snippets/csharp/System.Collections.Generic/IEnumerableT/Overview/program.cs" id="Snippet1":::
:::code language="vb" source="~/snippets/visualbasic/System.Collections.Generic/IEnumerableT/Overview/module1.vb" id="Snippet1":::
diff --git a/xml/System.Collections.Generic/List`1.xml b/xml/System.Collections.Generic/List`1.xml
index f50bb56302c..a34a0d4dd7c 100644
--- a/xml/System.Collections.Generic/List`1.xml
+++ b/xml/System.Collections.Generic/List`1.xml
@@ -2484,7 +2484,7 @@ Public Function StartsWith(e As Employee) As Boolean
The following example demonstrates the use of the delegate to print the contents of a object. In this example the `Print` method is used to display the contents of the list to the console.
> [!NOTE]
-> In addition to displaying the contents using the `Print` method, the C# example demonstrates the use of [anonymous methods](/dotnet/csharp/programming-guide/statements-expressions-operators/anonymous-methods) to display the results to the console.
+> In addition to displaying the contents using the `Print` method, the C# example demonstrates the use of [anonymous methods](/dotnet/csharp/language-reference/operators/delegate-operator) to display the results to the console.
:::code language="csharp" source="~/snippets/csharp/System/ActionT/Overview/action.cs" interactive="try-dotnet-method" id="Snippet01":::
:::code language="vb" source="~/snippets/visualbasic/System/ActionT/Overview/action.vb" id="Snippet01":::
diff --git a/xml/System.Collections.Specialized/INotifyCollectionChanged.xml b/xml/System.Collections.Specialized/INotifyCollectionChanged.xml
index a8761012d66..df935e65fc3 100644
--- a/xml/System.Collections.Specialized/INotifyCollectionChanged.xml
+++ b/xml/System.Collections.Specialized/INotifyCollectionChanged.xml
@@ -84,7 +84,6 @@
]]>
- ObservableCollection Simply Explained
diff --git a/xml/System.Collections/DictionaryBase.xml b/xml/System.Collections/DictionaryBase.xml
index 93e2a8095ff..3df32cf7cb1 100644
--- a/xml/System.Collections/DictionaryBase.xml
+++ b/xml/System.Collections/DictionaryBase.xml
@@ -81,7 +81,7 @@
> [!IMPORTANT]
> We don't recommend that you use the `DictionaryBase` class for new development. Instead, we recommend that you use the generic or class . For more information, see [Non-generic collections shouldn't be used](https://github.com/dotnet/platform-compat/blob/master/docs/DE0006.md) on GitHub.
-The C# [foreach](/dotnet/csharp/language-reference/keywords/foreach-in) statement and the Visual Basic [For Each](/dotnet/visual-basic/language-reference/statements/for-each-next-statement) statement return an object of the type of the elements in the collection. Since each element of the is a key/value pair, the element type is not the type of the key or the type of the value. Instead, the element type is .
+The C# [foreach](/dotnet/csharp/language-reference/statements/iteration-statements) statement and the Visual Basic [For Each](/dotnet/visual-basic/language-reference/statements/for-each-next-statement) statement return an object of the type of the elements in the collection. Since each element of the is a key/value pair, the element type is not the type of the key or the type of the value. Instead, the element type is .
The `foreach` statement is a wrapper around the enumerator, which only allows reading from, not writing to, the collection.
diff --git a/xml/System.Collections/DictionaryEntry.xml b/xml/System.Collections/DictionaryEntry.xml
index 5d4189665b9..7432724a7ae 100644
--- a/xml/System.Collections/DictionaryEntry.xml
+++ b/xml/System.Collections/DictionaryEntry.xml
@@ -74,7 +74,7 @@ The [!IMPORTANT]
> We don't recommend that you use the `DictionaryEntry` structure for new development. Instead, we recommend that you use a generic structure along with the class. For more information, see [Non-generic collections shouldn't be used](https://github.com/dotnet/platform-compat/blob/master/docs/DE0006.md) on GitHub.
- The C# [foreach](/dotnet/csharp/language-reference/keywords/foreach-in) statement and the Visual Basic [For Each](/dotnet/visual-basic/language-reference/statements/for-each-next-statement) statement require the type of each element in the collection. Since each element of the is a key/value pair, the element type is not the type of the key or the type of the value. Instead, the element type is . For example:
+ The C# [foreach](/dotnet/csharp/language-reference/statements/iteration-statements) statement and the Visual Basic [For Each](/dotnet/visual-basic/language-reference/statements/for-each-next-statement) statement require the type of each element in the collection. Since each element of the is a key/value pair, the element type is not the type of the key or the type of the value. Instead, the element type is . For example:
:::code language="csharp" source="~/snippets/csharp/System.Collections/DictionaryEntry/Overview/DictionaryEntrySample.cs" id="Snippet01":::
:::code language="vb" source="~/snippets/visualbasic/System.Collections/DictionaryEntry/Overview/DictionaryEntrySample.vb" id="Snippet01":::
diff --git a/xml/System.Data.Linq.Mapping/TableAttribute.xml b/xml/System.Data.Linq.Mapping/TableAttribute.xml
index a48fa4fb38b..5b05a5cfa4a 100644
--- a/xml/System.Data.Linq.Mapping/TableAttribute.xml
+++ b/xml/System.Data.Linq.Mapping/TableAttribute.xml
@@ -22,7 +22,36 @@
Designates a class as an entity class that is associated with a database table.
- For more information about this API, see Supplemental API remarks for TableAttribute.
+
+ attribute to designate a class as an entity class that is associated with a database table or view. LINQ to SQL treats classes that have the attribute as persistent classes.
+
+LINQ to SQL supports only single-table mapping. That is, an entity class must be mapped to exactly one database table, and you cannot map a database table to multiple classes at the same time.
+
+You can use the property of the attribute to specify a name for the table, and you can optionally use the schema name to qualify a table name. If you do not specify a name by using the property, the table name is assumed to be the same as the class name.
+
+## Schema-qualified names
+
+You can optionally use the schema name to qualify a table name. By default, the token to the left of the first period in the string is considered to be the schema name. The remainder of the name is considered to be the table name. The provider quotes the table name as appropriate. For example, the LINQ to SQL provider for SQL Server makes sure that brackets are used at least where they are needed.
+
+> [!NOTE]
+> In some cases, you must explicitly quote attributes because the SQL Server provider cannot auto-quote. The following table shows some examples.
+
+| Case | Example: Identifier name | Example: Expected string in attributes | Otherwise… |
+|------|--------------------------|----------------------------------------|------------|
+|Schema name contains a period|Schema: "A.B"
Table: "C"|"[A.B].C"|The first period is assumed to separate the schema name from the table name.|
+|Schema/table name starts with `@`|"@SomeName"|"[@SomeName]"|Assumed to be a parameter name.|
+|Schema starts with `[` and ends with `]`|"[Schema.Table]"|"[[Schema].[Table]]]"|The unquoted identifier resembles a quoted identifier.|
+|Table starts with `[` and ends with `]`|"[Table]"|"[[Table]]]"|The unquoted identifier resembles a quoted identifier.|
+
+## Examples
+
+:::code language="csharp" source="~/snippets/csharp/System.Data.Linq.Mapping/TableAttribute/Overview/Program.cs" id="Snippet1":::
+:::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Data/DLinqCustomize/vb/Module1.vb" id="Snippet1":::
+
+]]>
+
diff --git a/xml/System.Data.Linq/DataLoadOptions.xml b/xml/System.Data.Linq/DataLoadOptions.xml
index 4866d13ff27..45542e3525b 100644
--- a/xml/System.Data.Linq/DataLoadOptions.xml
+++ b/xml/System.Data.Linq/DataLoadOptions.xml
@@ -16,7 +16,68 @@
Provides for immediate loading and filtering of related data.
- For more information about this API, see Supplemental API remarks for DataLoadOptions.
+
+ class provides for immediate loading and filtering of related data.
+
+When you query for an object, you actually retrieve only the object you requested. The *related* objects are not automatically fetched at the same time. For more information, see [Querying Across Relationships](/dotnet/framework/data/adonet/sql/linq/querying-across-relationships).
+
+The class provides two methods to achieve immediate loading of specified related data. The method allows for immediate loading of data related to the main target. The method allows for filtering related objects.
+
+## Rules
+
+Consider the following rules regarding usage:
+
+- Assigning a to a after the first query has been executed generates an exception.
+- Modifying a after it has been assigned to a generates an exception.
+
+## Handle cycles
+
+ and directives must not create cycles. The following represent examples of such graphs:
+
+- Example 1: Self recursive
+
+ - `dlo.LoadWith(e => e.Reports);`
+
+- Example 2: Back-pointers
+
+ - `dlo.LoadWith (c => C.Orders);`
+ - `dlo.LoadWith (o => o.Customer);`
+
+- Example 3: Longer cycles
+
+ Although this should not occur in a well-normalized model, it is possible.
+
+ - `dlo.LoadWith (a => a.Bs);`
+ - `dlo.LoadWith (b => b.Cs);`
+ - `dlo.LoadWith (c => c.As);`
+
+- Example 4: Self recursive subQueries
+
+ - `dlo.AssociateWith(a=>a.As.Where(a=>a.Id=33));`
+
+- Example 5: Longer recursive subqueries
+
+ - `dlo.AssociateWith(a=>a.Bs.Where(b=>b.Id==3));`
+ - `dlo.AssociateWith(b=>b.As.Where(a=>a.Id==3));`
+
+The following general rules help you understand what occurs in these scenarios:
+
+- : Each call to checks whether cycles have been introduced into the graph. If there are, as in Examples 1, 2, and 3, an exception is thrown.
+
+- : At run time, the engine doesn't apply the existing SubQuery clauses to the relationship inside the expression.
+
+ - In Example 4, the `Where` clause is executed against all `A`, not just the ones sub-filtered by the SubQuery expression itself (because that would be recursive).
+ - In Example 5, the first `Where` clause is applied to all the `B`s, even though there are subqueries on `B`. The second `Where` clause is applied to all the `A`s even though there are subqueries on `A`.
+
+## Examples
+
+When you retrieve `Customers` from the Northwind sample database, you can use to specify that `Orders` is also to be retrieved. You can even specify which subset of `Orders` to retrieve.
+
+]]>
+
+
diff --git a/xml/System.Data/EnumerableRowCollectionExtensions.xml b/xml/System.Data/EnumerableRowCollectionExtensions.xml
index 895be9fea2e..b4d38eb5831 100644
--- a/xml/System.Data/EnumerableRowCollectionExtensions.xml
+++ b/xml/System.Data/EnumerableRowCollectionExtensions.xml
@@ -69,7 +69,7 @@
- Standard Query Operators Overview (C#)
+ Standard Query Operators Overview (C#)
Standard Query Operators Overview (Visual Basic)
diff --git a/xml/System.Data/TypedTableBaseExtensions.xml b/xml/System.Data/TypedTableBaseExtensions.xml
index fd9c9c3efc4..323583f325f 100644
--- a/xml/System.Data/TypedTableBaseExtensions.xml
+++ b/xml/System.Data/TypedTableBaseExtensions.xml
@@ -67,7 +67,7 @@
]]>
Standard Query Operators Overview (Visual Basic)
- Standard Query Operators Overview (C#)
+ Standard Query Operators Overview (C#)
Querying Typed DataSets
diff --git a/xml/System.Diagnostics.CodeAnalysis/ExperimentalAttribute.xml b/xml/System.Diagnostics.CodeAnalysis/ExperimentalAttribute.xml
index 9e1bcf0f5cf..23f56944ed7 100644
--- a/xml/System.Diagnostics.CodeAnalysis/ExperimentalAttribute.xml
+++ b/xml/System.Diagnostics.CodeAnalysis/ExperimentalAttribute.xml
@@ -32,7 +32,7 @@
allows call sites to be flagged with a diagnostic that indicates that an experimental feature is used. You can use this attribute to ship preview features in otherwise stable libraries.
-For more information about marking APIs as preview, see [Preview APIs](/dotnet/fundamentals/apicompat/preview-apis).
+For more information about marking APIs as preview, see [Preview APIs](/dotnet/fundamentals/runtime-libraries/preview-apis).
]]>
diff --git a/xml/System.Diagnostics.Tracing/EventSource.xml b/xml/System.Diagnostics.Tracing/EventSource.xml
index a63cab5cb99..e8ebb7ea5cc 100644
--- a/xml/System.Diagnostics.Tracing/EventSource.xml
+++ b/xml/System.Diagnostics.Tracing/EventSource.xml
@@ -3829,7 +3829,7 @@ public void LogTime(string tag, int hour, int minute, int second)
You could do this without calling , but it would be slower than it needs to be. That is because it uses arrays and reflection to figure out what to do. If you log these at a high rate (> 1000 / sec), it can be worth making a fast helper, as shown in the following example. The method shadows the existing . Thus the original caller code (LogTime) does not actually change, but the C# compiler will use the more specialized version which will be faster.
- To compile unsafe code, you must specify the [/unsafe (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/unsafe-compiler-option) compiler option.
+ To compile unsafe code, you must specify the [/unsafe (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/language) compiler option.
```csharp
class AnotherEventSource : EventSource {
diff --git a/xml/System.Diagnostics/Debug.xml b/xml/System.Diagnostics/Debug.xml
index 143ed8bbbf5..28a6255d4d2 100644
--- a/xml/System.Diagnostics/Debug.xml
+++ b/xml/System.Diagnostics/Debug.xml
@@ -3009,7 +3009,7 @@ The following example creates a named `gen
## Remarks
This method uses the [.NET composite formatting feature](/dotnet/standard/base-types/composite-formatting) to convert the value of an object to its text representation and embed that representation in a string.
- The [params](/dotnet/csharp/language-reference/keywords/params) (in C#) or [ParamArray](/dotnet/visual-basic/language-reference/modifiers/paramarray) (in Visual Basic) keyword in the syntax for this method implies that the object array can be a single value. The exception to this is the object. Explicit overloads take precedence, so an `arg` value of a single string will default to the overload.
+ The [params](/dotnet/csharp/language-reference/keywords/method-parameters) (in C#) or [ParamArray](/dotnet/visual-basic/language-reference/modifiers/paramarray) (in Visual Basic) keyword in the syntax for this method implies that the object array can be a single value. The exception to this is the object. Explicit overloads take precedence, so an `arg` value of a single string will default to the overload.
By default, the output is written to an instance of .
diff --git a/xml/System.Diagnostics/FileVersionInfo.xml b/xml/System.Diagnostics/FileVersionInfo.xml
index 53983f8dc4b..9328d5160c3 100644
--- a/xml/System.Diagnostics/FileVersionInfo.xml
+++ b/xml/System.Diagnostics/FileVersionInfo.xml
@@ -73,9 +73,7 @@
Version resources are typically specified in a Win32 resource file, or in assembly attributes. For example the property reflects the `VS_FF_DEBUG` flag value in the file's `VS_FIXEDFILEINFO` block, which is built from the `VERSIONINFO` resource in a Win32 resource file. For more information about specifying version resources in a Win32 resource file, see "About Resource Files" and "VERSIONINFO Resource" in the Platform SDK. For more information about specifying version resources in a .NET module, see the [Setting Assembly Attributes](/dotnet/standard/assembly/set-attributes) topic.
> [!NOTE]
-> This class makes a link demand at the class level that applies to all members. A is thrown when the immediate caller does not have full trust permission. For details about link demands, see [Link Demands](/dotnet/framework/misc/link-demands).
-
-
+> This class makes a link demand at the class level that applies to all members. A is thrown when the immediate caller does not have full trust permission.
## Examples
The following example calls to get the for the Notepad. Then it prints the file description and version number to the console.
diff --git a/xml/System.Diagnostics/Process.xml b/xml/System.Diagnostics/Process.xml
index 7ed68012238..1bb82066d1a 100644
--- a/xml/System.Diagnostics/Process.xml
+++ b/xml/System.Diagnostics/Process.xml
@@ -114,27 +114,24 @@
On macOS, the following properties return 0:
- -
- -
- -
+-
+-
+-
> [!NOTE]
-> This class contains a link demand and an inheritance demand at the class level that applies to all members. A is thrown when either the immediate caller or the derived class does not have full-trust permission. For details about security demands, see [Link Demands](/dotnet/framework/misc/link-demands).
+> This class contains a link demand and an inheritance demand at the class level that applies to all members. A is thrown when either the immediate caller or the derived class does not have full-trust permission.
-
## .NET Core Notes
- In .NET Framework, the class by default uses encodings, which are typically code page encodings, for the input, output, and error streams. For example code, on systems whose culture is English (United States), code page 437 is the default encoding for the class. However, .NET Core may make only a limited subset of these encodings available. If this is the case, it uses as the default encoding.
+ In .NET Framework, the class by default uses encodings, which are typically code-page encodings, for the input, output, and error streams. For example code, on systems whose culture is English (United States), code page 437 is the default encoding for the class. However, .NET Core may make only a limited subset of these encodings available. If this is the case, it uses as the default encoding.
If a object depends on specific code page encodings, you can still make them available by doing the following *before* you call any methods:
-1. Retrieve the object from the property.
+1. Retrieve the object from the property.
-2. Pass the object to the method to make the additional encodings supported by the encoding provider available.
+2. Pass the object to the method to make the additional encodings supported by the encoding provider available.
The class will then automatically use the default system encoding rather than UTF8, provided that you have registered the encoding provider before calling any methods.
-
-
## Examples
The following example uses an instance of the class to start a process.
@@ -148,7 +145,7 @@ On macOS, the following properties return 0:
:::code language="fsharp" source="~/snippets/fsharp/System.Diagnostics/Process/Overview/processstartstatic.fs":::
:::code language="vb" source="~/snippets/visualbasic/System.Diagnostics/Process/Overview/processstartstatic.vb":::
- The following F# example defines a `runProc` function that starts a process, captures all output and error information, and records the number of milliseconds that the process has run. The `runProc` function has three parameters: the name of application to launch, the arguments to supply to the application, and the starting directory.
+ The following F# example defines a `runProc` function that starts a process, captures all output and error information, and records the number of milliseconds that the process has run. The `runProc` function has three parameters: the name of application to launch, the arguments to supply to the application, and the starting directory.
:::code language="fsharp" source="~/snippets/fsharp/VS_Snippets_CLR_System/system.diagnostics.process/fs/Start1.fs" id="Snippet1":::
@@ -364,15 +361,15 @@ On macOS, the following properties return 0:
Follow these steps to perform asynchronous read operations on for a :
-1. Set to `false`.
+1. Set to `false`.
-2. Set to `true`.
+2. Set to `true`.
-3. Add your event handler to the event. The event handler must match the delegate signature.
+3. Add your event handler to the event. The event handler must match the delegate signature.
-4. Start the .
+4. Start the .
-5. Call for the . This call starts asynchronous read operations on .
+5. Call for the . This call starts asynchronous read operations on .
When asynchronous read operations start, the event handler is called each time the associated writes a line of text to its stream.
@@ -463,15 +460,15 @@ On macOS, the following properties return 0:
Follow these steps to perform asynchronous read operations on for a :
-1. Set to `false`.
+1. Set to `false`.
-2. Set to `true`.
+2. Set to `true`.
-3. Add your event handler to the event. The event handler must match the delegate signature.
+3. Add your event handler to the event. The event handler must match the delegate signature.
-4. Start the .
+4. Start the .
-5. Call for the . This call starts asynchronous read operations on .
+5. Call for the . This call starts asynchronous read operations on .
When asynchronous read operations start, the event handler is called each time the associated writes a line of text to its stream.
@@ -3200,12 +3197,12 @@ If no main module is found, it could be because the process hasn't finished load
[<System.Obsolete("Process.NonpagedSystemMemorySize has been deprecated because the type of the property can't represent all valid results. Use System.Diagnostics.Process.NonpagedSystemMemorySize64 instead.")>]
- [System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.NonpagedSystemMemorySize64 instead. https://go.microsoft.com/fwlink/?linkid=14202")]
- [<System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.NonpagedSystemMemorySize64 instead. https://go.microsoft.com/fwlink/?linkid=14202")>]
+ [System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.NonpagedSystemMemorySize64 instead. https://go.microsoft.com/fwlink/?linkid=14202")]
+ [<System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.NonpagedSystemMemorySize64 instead. https://go.microsoft.com/fwlink/?linkid=14202")>]
- [System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.NonpagedSystemMemorySize64 instead. http://go.microsoft.com/fwlink/?linkid=14202")]
- [<System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.NonpagedSystemMemorySize64 instead. http://go.microsoft.com/fwlink/?linkid=14202")>]
+ [System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.NonpagedSystemMemorySize64 instead. http://go.microsoft.com/fwlink/?linkid=14202")]
+ [<System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.NonpagedSystemMemorySize64 instead. http://go.microsoft.com/fwlink/?linkid=14202")>]
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
@@ -3494,12 +3491,12 @@ If no main module is found, it could be because the process hasn't finished load
[<System.Obsolete("Process.PagedMemorySize has been deprecated because the type of the property can't represent all valid results. Use System.Diagnostics.Process.PagedMemorySize64 instead.")>]
- [System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.PagedMemorySize64 instead. https://go.microsoft.com/fwlink/?linkid=14202")]
- [<System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.PagedMemorySize64 instead. https://go.microsoft.com/fwlink/?linkid=14202")>]
+ [System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.PagedMemorySize64 instead. https://go.microsoft.com/fwlink/?linkid=14202")]
+ [<System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.PagedMemorySize64 instead. https://go.microsoft.com/fwlink/?linkid=14202")>]
- [System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.PagedMemorySize64 instead. http://go.microsoft.com/fwlink/?linkid=14202")]
- [<System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.PagedMemorySize64 instead. http://go.microsoft.com/fwlink/?linkid=14202")>]
+ [System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.PagedMemorySize64 instead. http://go.microsoft.com/fwlink/?linkid=14202")]
+ [<System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.PagedMemorySize64 instead. http://go.microsoft.com/fwlink/?linkid=14202")>]
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
@@ -3637,12 +3634,12 @@ If no main module is found, it could be because the process hasn't finished load
[<System.Obsolete("Process.PagedSystemMemorySize has been deprecated because the type of the property can't represent all valid results. Use System.Diagnostics.Process.PagedSystemMemorySize64 instead.")>]
- [System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.PagedSystemMemorySize64 instead. https://go.microsoft.com/fwlink/?linkid=14202")]
- [<System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.PagedSystemMemorySize64 instead. https://go.microsoft.com/fwlink/?linkid=14202")>]
+ [System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.PagedSystemMemorySize64 instead. https://go.microsoft.com/fwlink/?linkid=14202")]
+ [<System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.PagedSystemMemorySize64 instead. https://go.microsoft.com/fwlink/?linkid=14202")>]
- [System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.PagedSystemMemorySize64 instead. http://go.microsoft.com/fwlink/?linkid=14202")]
- [<System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.PagedSystemMemorySize64 instead. http://go.microsoft.com/fwlink/?linkid=14202")>]
+ [System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.PagedSystemMemorySize64 instead. http://go.microsoft.com/fwlink/?linkid=14202")]
+ [<System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.PagedSystemMemorySize64 instead. http://go.microsoft.com/fwlink/?linkid=14202")>]
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
@@ -3778,12 +3775,12 @@ If no main module is found, it could be because the process hasn't finished load
[<System.Obsolete("Process.PeakPagedMemorySize has been deprecated because the type of the property can't represent all valid results. Use System.Diagnostics.Process.PeakPagedMemorySize64 instead.")>]
- [System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.PeakPagedMemorySize64 instead. https://go.microsoft.com/fwlink/?linkid=14202")]
- [<System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.PeakPagedMemorySize64 instead. https://go.microsoft.com/fwlink/?linkid=14202")>]
+ [System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.PeakPagedMemorySize64 instead. https://go.microsoft.com/fwlink/?linkid=14202")]
+ [<System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.PeakPagedMemorySize64 instead. https://go.microsoft.com/fwlink/?linkid=14202")>]
- [System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.PeakPagedMemorySize64 instead. http://go.microsoft.com/fwlink/?linkid=14202")]
- [<System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.PeakPagedMemorySize64 instead. http://go.microsoft.com/fwlink/?linkid=14202")>]
+ [System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.PeakPagedMemorySize64 instead. http://go.microsoft.com/fwlink/?linkid=14202")]
+ [<System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.PeakPagedMemorySize64 instead. http://go.microsoft.com/fwlink/?linkid=14202")>]
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
@@ -3918,12 +3915,12 @@ If no main module is found, it could be because the process hasn't finished load
[<System.Obsolete("Process.PeakVirtualMemorySize has been deprecated because the type of the property can't represent all valid results. Use System.Diagnostics.Process.PeakVirtualMemorySize64 instead.")>]
- [System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.PeakVirtualMemorySize64 instead. https://go.microsoft.com/fwlink/?linkid=14202")]
- [<System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.PeakVirtualMemorySize64 instead. https://go.microsoft.com/fwlink/?linkid=14202")>]
+ [System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.PeakVirtualMemorySize64 instead. https://go.microsoft.com/fwlink/?linkid=14202")]
+ [<System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.PeakVirtualMemorySize64 instead. https://go.microsoft.com/fwlink/?linkid=14202")>]
- [System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.PeakVirtualMemorySize64 instead. http://go.microsoft.com/fwlink/?linkid=14202")]
- [<System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.PeakVirtualMemorySize64 instead. http://go.microsoft.com/fwlink/?linkid=14202")>]
+ [System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.PeakVirtualMemorySize64 instead. http://go.microsoft.com/fwlink/?linkid=14202")]
+ [<System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.PeakVirtualMemorySize64 instead. http://go.microsoft.com/fwlink/?linkid=14202")>]
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
@@ -4058,12 +4055,12 @@ If no main module is found, it could be because the process hasn't finished load
[<System.Obsolete("Process.PeakWorkingSet has been deprecated because the type of the property can't represent all valid results. Use System.Diagnostics.Process.PeakWorkingSet64 instead.")>]
- [System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.PeakWorkingSet64 instead. https://go.microsoft.com/fwlink/?linkid=14202")]
- [<System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.PeakWorkingSet64 instead. https://go.microsoft.com/fwlink/?linkid=14202")>]
+ [System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.PeakWorkingSet64 instead. https://go.microsoft.com/fwlink/?linkid=14202")]
+ [<System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.PeakWorkingSet64 instead. https://go.microsoft.com/fwlink/?linkid=14202")>]
- [System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.PeakWorkingSet64 instead. http://go.microsoft.com/fwlink/?linkid=14202")]
- [<System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.PeakWorkingSet64 instead. http://go.microsoft.com/fwlink/?linkid=14202")>]
+ [System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.PeakWorkingSet64 instead. http://go.microsoft.com/fwlink/?linkid=14202")]
+ [<System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.PeakWorkingSet64 instead. http://go.microsoft.com/fwlink/?linkid=14202")>]
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
@@ -4378,12 +4375,12 @@ If no main module is found, it could be because the process hasn't finished load
[<System.Obsolete("Process.PrivateMemorySize has been deprecated because the type of the property can't represent all valid results. Use System.Diagnostics.Process.PrivateMemorySize64 instead.")>]
- [System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.PrivateMemorySize64 instead. https://go.microsoft.com/fwlink/?linkid=14202")]
- [<System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.PrivateMemorySize64 instead. https://go.microsoft.com/fwlink/?linkid=14202")>]
+ [System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.PrivateMemorySize64 instead. https://go.microsoft.com/fwlink/?linkid=14202")]
+ [<System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.PrivateMemorySize64 instead. https://go.microsoft.com/fwlink/?linkid=14202")>]
- [System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.PrivateMemorySize64 instead. http://go.microsoft.com/fwlink/?linkid=14202")]
- [<System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.PrivateMemorySize64 instead. http://go.microsoft.com/fwlink/?linkid=14202")>]
+ [System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.PrivateMemorySize64 instead. http://go.microsoft.com/fwlink/?linkid=14202")]
+ [<System.Obsolete("This property has been deprecated. Please use System.Diagnostics.Process.PrivateMemorySize64 instead. http://go.microsoft.com/fwlink/?linkid=14202")>]
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
@@ -5377,7 +5374,7 @@ There is a similar issue when you read all text from both the standard output an
If you have a path variable declared in your system using quotes, you must fully qualify that path when starting any process found in that location. Otherwise, the system will not find the path. For example, if `c:\mypath` is not in your path, and you add it using quotation marks: `path = %path%;"c:\mypath"`, you must fully qualify any process in `c:\mypath` when starting it.
> [!NOTE]
-> ASP.NET Web page and server control code executes in the context of the ASP.NET worker process on the Web server. If you use the method in an ASP.NET Web page or server control, the new process executes on the Web server with restricted permissions. The process does not start in the same context as the client browser, and does not have access to the user desktop.
+> ASP.NET Web page and server control code executes in the context of the ASP.NET worker process on the Web server. If you use the method in an ASP.NET Web page or server control, the new process executes on the Web server with restricted permissions. The process does not start in the same context as the client browser, and does not have access to the user desktop.
Whenever you use to start a process, you might need to close it or you risk losing system resources. Close processes using or . You can check whether a process has already been closed by using its property.
@@ -5498,7 +5495,7 @@ The member
If you have a path variable declared in your system using quotes, you must fully qualify that path when starting any process found in that location. Otherwise, the system will not find the path. For example, if `c:\mypath` is not in your path, and you add it using quotation marks: `path = %path%;"c:\mypath"`, you must fully qualify any process in `c:\mypath` when starting it.
> [!NOTE]
-> ASP.NET Web page and server control code executes in the context of the ASP.NET worker process on the Web server. If you use the method in an ASP.NET Web page or server control, the new process executes on the Web server with restricted permissions. The process does not start in the same context as the client browser, and does not have access to the user desktop.
+> ASP.NET Web page and server control code executes in the context of the ASP.NET worker process on the Web server. If you use the method in an ASP.NET Web page or server control, the new process executes on the Web server with restricted permissions. The process does not start in the same context as the client browser, and does not have access to the user desktop.
Whenever you use to start a process, you might need to close it or you risk losing system resources. Close processes using or . You can check whether a process has already been closed by using its property.
@@ -5627,7 +5624,7 @@ The