From 9ea6d00b5a219b5f60a68bddd22bc8a8947ecec4 Mon Sep 17 00:00:00 2001
From: Genevieve Warren <24882762+gewarren@users.noreply.github.com>
Date: Mon, 30 Mar 2026 15:58:02 -0700
Subject: [PATCH 1/6] System.Xaml and System.Xml
---
.../XamlLoadPermission.xml | 104 +-
xml/System.Xaml.Schema/XamlMemberInvoker.xml | 10 +-
xml/System.Xaml.Schema/XamlTypeInvoker.xml | 16 +-
xml/System.Xaml.Schema/XamlTypeName.xml | 104 +-
.../XamlValueConverter`1.xml | 18 +-
xml/System.Xaml/AmbientPropertyValue.xml | 38 +-
.../AttachablePropertyServices.xml | 34 +-
xml/System.Xaml/IAmbientProvider.xml | 10 +-
xml/System.Xaml/IDestinationTypeProvider.xml | 8 +-
xml/System.Xaml/IXamlNameResolver.xml | 4 +-
xml/System.Xaml/IXamlObjectWriterFactory.xml | 10 +-
xml/System.Xaml/NamespaceDeclaration.xml | 2 +-
xml/System.Xaml/XamlDirective.xml | 10 +-
xml/System.Xaml/XamlMember.xml | 100 +-
xml/System.Xaml/XamlNodeList.xml | 48 +-
xml/System.Xaml/XamlObjectEventArgs.xml | 10 +-
xml/System.Xaml/XamlObjectReader.xml | 6 +-
xml/System.Xaml/XamlObjectWriter.xml | 30 +-
xml/System.Xaml/XamlObjectWriterSettings.xml | 110 +-
xml/System.Xaml/XamlReader.xml | 188 +-
xml/System.Xaml/XamlSchemaContext.xml | 154 +-
xml/System.Xaml/XamlSchemaContextSettings.xml | 20 +-
xml/System.Xaml/XamlServices.xml | 18 +-
xml/System.Xaml/XamlType.xml | 154 +-
xml/System.Xaml/XamlWriter.xml | 72 +-
xml/System.Xaml/XamlXmlReader.xml | 10 +-
xml/System.Xaml/XamlXmlWriter.xml | 160 +-
xml/System.Xaml/XamlXmlWriterSettings.xml | 20 +-
xml/System.Xml.Linq/Extensions.xml | 4106 ++++++++---------
xml/System.Xml.Linq/XAttribute.xml | 44 +-
xml/System.Xml.Linq/XContainer.xml | 3152 ++++++-------
xml/System.Xml.Linq/XDeclaration.xml | 2 +-
xml/System.Xml.Linq/XDocument.xml | 52 +-
xml/System.Xml.Linq/XDocumentType.xml | 2 +-
xml/System.Xml.Linq/XElement.xml | 90 +-
xml/System.Xml.Linq/XName.xml | 4 +-
xml/System.Xml.Linq/XNamespace.xml | 2 +-
xml/System.Xml.Linq/XNode.xml | 54 +-
.../XNodeDocumentOrderComparer.xml | 176 +-
xml/System.Xml.Linq/XNodeEqualityComparer.xml | 6 +-
xml/System.Xml.Linq/XObject.xml | 4 +-
xml/System.Xml.Linq/XStreamingElement.xml | 24 +-
xml/System.Xml.Schema/Extensions.xml | 30 +-
xml/System.Xml.Schema/ValidationEventArgs.xml | 4 +-
xml/System.Xml.Schema/XmlAtomicValue.xml | 2 +-
xml/System.Xml.Schema/XmlSchema.xml | 10 +-
xml/System.Xml.Schema/XmlSchemaCollection.xml | 4 +-
xml/System.Xml.Schema/XmlSchemaDatatype.xml | 10 +-
xml/System.Xml.Schema/XmlSchemaInference.xml | 18 +-
xml/System.Xml.Schema/XmlSchemaInfo.xml | 2 +-
.../XmlSchemaObjectCollection.xml | 8 +-
.../XmlSchemaObjectTable.xml | 10 +-
xml/System.Xml.Schema/XmlSchemaSet.xml | 56 +-
xml/System.Xml.Schema/XmlSchemaType.xml | 2 +-
xml/System.Xml.Schema/XmlSchemaValidator.xml | 88 +-
.../SchemaImporterExtension.xml | 136 +-
.../CodeIdentifier.xml | 6 +-
.../CodeIdentifiers.xml | 10 +-
.../IXmlSerializable.xml | 16 +-
.../SoapAttributeAttribute.xml | 2 +-
.../SoapAttributeOverrides.xml | 12 +-
.../SoapAttributes.xml | 2 +-
.../SoapElementAttribute.xml | 2 +-
.../SoapEnumAttribute.xml | 6 +-
.../SoapIgnoreAttribute.xml | 2 +-
.../SoapIncludeAttribute.xml | 2 +-
.../SoapReflectionImporter.xml | 14 +-
.../SoapSchemaImporter.xml | 18 +-
.../SoapTypeAttribute.xml | 2 +-
.../UnreferencedObjectEventArgs.xml | 2 +-
.../UnreferencedObjectEventHandler.xml | 2 +-
.../XmlAnyAttributeAttribute.xml | 2 +-
.../XmlAnyElementAttribute.xml | 4 +-
.../XmlAnyElementAttributes.xml | 4 +-
.../XmlArrayAttribute.xml | 2 +-
.../XmlArrayItemAttributes.xml | 4 +-
.../XmlAttributeEventArgs.xml | 4 +-
.../XmlAttributeEventHandler.xml | 2 +-
.../XmlAttributeOverrides.xml | 8 +-
.../XmlAttributes.xml | 8 +-
.../XmlElementAttributes.xml | 2 +-
.../XmlElementEventArgs.xml | 2 +-
.../XmlElementEventHandler.xml | 2 +-
.../XmlEnumAttribute.xml | 2 +-
.../XmlIgnoreAttribute.xml | 2 +-
.../XmlIncludeAttribute.xml | 2 +-
.../XmlMappingAccess.xml | 10 +-
.../XmlNamespaceDeclarationsAttribute.xml | 264 +-
.../XmlNodeEventArgs.xml | 8 +-
.../XmlNodeEventHandler.xml | 2 +-
.../XmlReflectionImporter.xml | 12 +-
.../XmlSchemaExporter.xml | 2 +-
.../XmlSchemaImporter.xml | 16 +-
xml/System.Xml.Serialization/XmlSchemas.xml | 8 +-
.../XmlSerializationReader.xml | 60 +-
.../XmlSerializationWriter.xml | 60 +-
.../XmlSerializer.xml | 62 +-
.../XmlSerializerFactory.xml | 10 +-
.../XmlSerializerNamespaces.xml | 10 +-
.../XmlTextAttribute.xml | 2 +-
.../XmlTypeMapping.xml | 2 +-
xml/System.Xml.XPath/Extensions.xml | 12 +-
xml/System.Xml.XPath/IXPathNavigable.xml | 20 +-
xml/System.Xml.XPath/XPathDocument.xml | 12 +-
xml/System.Xml.XPath/XPathExpression.xml | 44 +-
xml/System.Xml.XPath/XPathItem.xml | 4 +-
xml/System.Xml.XPath/XPathNamespaceScope.xml | 2 +-
xml/System.Xml.XPath/XPathNavigator.xml | 402 +-
xml/System.Xml.XPath/XPathNodeIterator.xml | 34 +-
.../AncestorDocOrderIterator.xml | 4 +-
.../AncestorIterator.xml | 4 +-
.../AttributeContentIterator.xml | 6 +-
.../AttributeIterator.xml | 6 +-
.../ContentIterator.xml | 6 +-
.../ContentMergeIterator.xml | 2 +-
.../DescendantIterator.xml | 4 +-
.../DescendantMergeIterator.xml | 2 +-
.../DifferenceIterator.xml | 2 +-
.../ElementContentIterator.xml | 4 +-
.../FollowingSiblingIterator.xml | 6 +-
.../FollowingSiblingMergeIterator.xml | 2 +-
xml/System.Xml.Xsl.Runtime/IdIterator.xml | 4 +-
.../IntersectIterator.xml | 2 +-
.../NamespaceIterator.xml | 4 +-
.../NodeKindContentIterator.xml | 4 +-
.../NodeRangeIterator.xml | 4 +-
xml/System.Xml.Xsl.Runtime/ParentIterator.xml | 6 +-
.../PrecedingIterator.xml | 6 +-
.../PrecedingSiblingDocOrderIterator.xml | 6 +-
.../PrecedingSiblingIterator.xml | 6 +-
xml/System.Xml.Xsl.Runtime/UnionIterator.xml | 2 +-
.../XPathFollowingIterator.xml | 4 +-
.../XPathFollowingMergeIterator.xml | 2 +-
.../XPathPrecedingDocOrderIterator.xml | 4 +-
.../XPathPrecedingIterator.xml | 4 +-
.../XPathPrecedingMergeIterator.xml | 2 +-
.../XmlQueryRuntime.xml | 20 +-
xml/System.Xml.Xsl.Runtime/XsltLibrary.xml | 6 +-
xml/System.Xml.Xsl/XslCompiledTransform.xml | 58 +-
xml/System.Xml.Xsl/XslTransform.xml | 90 +-
xml/System.Xml.Xsl/XsltArgumentList.xml | 4 +-
xml/System.Xml.Xsl/XsltSettings.xml | 10 +-
xml/System.Xml/IHasXmlNode.xml | 4 +-
xml/System.Xml/IStreamProvider.xml | 4 +-
xml/System.Xml/IXmlNamespaceResolver.xml | 6 +-
xml/System.Xml/NewLineHandling.xml | 2 +-
xml/System.Xml/UniqueId.xml | 4 +-
xml/System.Xml/ValidationType.xml | 24 +-
xml/System.Xml/XmlAttribute.xml | 26 +-
xml/System.Xml/XmlAttributeCollection.xml | 6 +-
xml/System.Xml/XmlCDataSection.xml | 48 +-
xml/System.Xml/XmlComment.xml | 44 +-
xml/System.Xml/XmlConvert.xml | 22 +-
xml/System.Xml/XmlDataDocument.xml | 22 +-
.../XmlDateTimeSerializationMode.xml | 10 +-
xml/System.Xml/XmlDeclaration.xml | 6 +-
xml/System.Xml/XmlDictionaryWriter.xml | 4 +-
xml/System.Xml/XmlDocument.xml | 68 +-
xml/System.Xml/XmlDocumentFragment.xml | 6 +-
xml/System.Xml/XmlDocumentType.xml | 6 +-
xml/System.Xml/XmlElement.xml | 12 +-
xml/System.Xml/XmlEntityReference.xml | 2 +-
xml/System.Xml/XmlImplementation.xml | 6 +-
xml/System.Xml/XmlNamespaceManager.xml | 36 +-
xml/System.Xml/XmlNode.xml | 12 +-
xml/System.Xml/XmlNodeChangedEventArgs.xml | 2 +-
xml/System.Xml/XmlNodeList.xml | 8 +-
xml/System.Xml/XmlNodeReader.xml | 134 +-
xml/System.Xml/XmlProcessingInstruction.xml | 4 +-
xml/System.Xml/XmlQualifiedName.xml | 48 +-
xml/System.Xml/XmlReader.xml | 188 +-
xml/System.Xml/XmlReaderSettings.xml | 10 +-
xml/System.Xml/XmlResolver.xml | 10 +-
xml/System.Xml/XmlSecureResolver.xml | 14 +-
xml/System.Xml/XmlSignificantWhitespace.xml | 2 +-
xml/System.Xml/XmlText.xml | 54 +-
xml/System.Xml/XmlTextReader.xml | 196 +-
xml/System.Xml/XmlTextWriter.xml | 106 +-
xml/System.Xml/XmlUrlResolver.xml | 12 +-
xml/System.Xml/XmlValidatingReader.xml | 162 +-
xml/System.Xml/XmlWhitespace.xml | 4 +-
xml/System.Xml/XmlWriter.xml | 298 +-
xml/System.Xml/XmlWriterSettings.xml | 38 +-
183 files changed, 6369 insertions(+), 6369 deletions(-)
diff --git a/xml/System.Xaml.Permissions/XamlLoadPermission.xml b/xml/System.Xaml.Permissions/XamlLoadPermission.xml
index 60c540f576d..d950faf1b3d 100644
--- a/xml/System.Xaml.Permissions/XamlLoadPermission.xml
+++ b/xml/System.Xaml.Permissions/XamlLoadPermission.xml
@@ -54,14 +54,14 @@
Declares permissions for loading types from assemblies that are used by a XAML reader or writer.
- is relevant for scenarios such as whether internal types are permitted to load under partial trust.
-
+ is relevant for scenarios such as whether internal types are permitted to load under partial trust.
+
]]>
@@ -106,11 +106,11 @@
An enumerable set of specific values.
Initializes a new instance of the class, using an enumerable set of specific values.
- collection with each `allowedAccess` entry as an item, and sets the return for to `false` in the created instance.
-
+ collection with each `allowedAccess` entry as an item, and sets the return for to `false` in the created instance.
+
]]>
@@ -150,11 +150,11 @@
A enumeration value.
Initializes a new instance of the class, using existing permissions.
- sets the return for to `true` in the created instance. Any call to this constructor sets the collection to `null` because it is not relevant if permissions are being reported rather than .
-
+ sets the return for to `true` in the created instance. Any call to this constructor sets the collection to `null` because it is not relevant if permissions are being reported rather than .
+
]]>
@@ -190,11 +190,11 @@
The defining value.
Initializes a new instance of the class, using a single value.
- collection with `allowedAccess` as the only item, and sets the return for to `false` in the created instance.
-
+ collection with `allowedAccess` as the only item, and sets the return for to `false` in the created instance.
+
]]>
@@ -242,11 +242,11 @@
Gets the list of all values that this represents.
A read-only list of values, or .
- is initialized such that is `true`, may be `null`.
-
+ is initialized such that is `true`, may be `null`.
+
]]>
@@ -283,11 +283,11 @@
Creates and returns an identical copy of the current .
A copy of the current .
- this value is in the signature but can be cast to .
-
+ this value is in the signature but can be cast to .
+
]]>
@@ -372,10 +372,10 @@
is .
- does not contain the XML encoding for a .
-
- -or-
-
+ does not contain the XML encoding for a .
+
+ -or-
+
The version attribute within is not supported.
@@ -494,11 +494,11 @@
Creates and returns a that is the intersection of the current and the specified permission.
A new permission that represents the intersection of the current and the specified . This new permission is if the intersection is empty.
- is checked first, and might return a result based solely on that check. Next, is checked.
-
+ is checked first, and might return a result based solely on that check. Next, is checked.
+
]]>
@@ -541,13 +541,13 @@
if the current is a subset of the specified permission; otherwise, .
- is checked first, and might return a result based solely on that check. Next, is checked.
-
- If `target` is `null` and the current is both `false` and has an empty list, this method returns `true`.
-
+ is checked first, and might return a result based solely on that check. Next, is checked.
+
+ If `target` is `null` and the current is both `false` and has an empty list, this method returns `true`.
+
]]>
@@ -661,13 +661,13 @@
Creates a permission that is the union of the current and the specified permission.
A new that represents the union of the current and the specified .
- is checked first, and might return a result based solely on that check. Next, is checked.
-
- If `other` is `null`, the current is returned.
-
+ is checked first, and might return a result based solely on that check. Next, is checked.
+
+ If `other` is `null`, the current is returned.
+
]]>
diff --git a/xml/System.Xaml.Schema/XamlMemberInvoker.xml b/xml/System.Xaml.Schema/XamlMemberInvoker.xml
index a3775a800b1..1e4251205e5 100644
--- a/xml/System.Xaml.Schema/XamlMemberInvoker.xml
+++ b/xml/System.Xaml.Schema/XamlMemberInvoker.xml
@@ -30,10 +30,10 @@
has a default implementation. The default implementation follows a similar model to the default implementation of XAML schema types and : the CLR type system is used for instantiation, values and lookups, including using CLR attributes, and , and so on.
- provides methods for basic get and set operations (; ). It also provides the properties and , but these are not virtual.
+ provides methods for basic get and set operations (; ). It also provides the properties and , but these are not virtual.
> [!NOTE]
-> It may be possible to obtain a value that represents a XAML directive, which is implemented as a private class in the System.Xaml implementation. If you attempt to call or on this invoker, an exception is thrown.
+> It may be possible to obtain a value that represents a XAML directive, which is implemented as a private class in the System.Xaml implementation. If you attempt to call or on this invoker, an exception is thrown.
]]>
@@ -81,7 +81,7 @@
## Remarks
The default implementation is empty.
- This constructor is invoked internally to provide a value for . For a subclass, it is expected that you either use the signature for construction or provide an override that calls as base. Providing the implements a default pattern where is immutable.
+ This constructor is invoked internally to provide a value for . For a subclass, it is expected that you either use the signature for construction or provide an override that calls as base. Providing the implements a default pattern where is immutable.
]]>
@@ -293,7 +293,7 @@
on the constructing . For an unknown , or for cases where returns `null`, this property returns `null`.
+ This property relies on calling on the constructing . For an unknown , or for cases where returns `null`, this property returns `null`.
]]>
@@ -328,7 +328,7 @@
on the constructing . For an unknown , or for cases where returns `null`, this property returns `null`.
+ This property relies on calling on the constructing . For an unknown , or for cases where returns `null`, this property returns `null`.
]]>
diff --git a/xml/System.Xaml.Schema/XamlTypeInvoker.xml b/xml/System.Xaml.Schema/XamlTypeInvoker.xml
index b0aa5d3b4df..03732a14416 100644
--- a/xml/System.Xaml.Schema/XamlTypeInvoker.xml
+++ b/xml/System.Xaml.Schema/XamlTypeInvoker.xml
@@ -30,7 +30,7 @@
has a default implementation. The default implementation follows a similar model to the default implementation of XAML schema types and : the CLR type system is used for instantiation, values and lookups, including using CLR attributes, and , and so on.
- provides methods for basic instantiation () and methods that are relevant for types where the represents a collection, dictionary or array (; ; ; ; ).
+ provides methods for basic instantiation () and methods that are relevant for types where the represents a collection, dictionary or array (; ; ; ; ).
]]>
@@ -78,7 +78,7 @@
## Remarks
The default implementation is empty.
- This constructor is invoked internally to provide a value for . For a subclass, it is expected that you either use the signature for construction or provide an override that calls as base. Providing the implements a default pattern where is immutable.
+ This constructor is invoked internally to provide a value for . For a subclass, it is expected that you either use the signature for construction or provide an override that calls as base. Providing the implements a default pattern where is immutable.
]]>
@@ -309,7 +309,7 @@
for this is not a writeable collection or dictionary. Specifically, should return `null` for cases where returns `None`.
+ This method should return `null` for cases where the for this is not a writeable collection or dictionary. Specifically, should return `null` for cases where returns `None`.
> [!IMPORTANT]
> If you are not accessing a fully trusted XAML type system, this method has the potential to report false information to callers.
@@ -356,7 +356,7 @@
returns `None`.
+ Should return `null` for cases where returns `None`.
> [!IMPORTANT]
> If you are not accessing a fully trusted XAML type system, this method has the potential to report false information to callers.
@@ -441,9 +441,9 @@
constrained with event data.
+ The event handler is based on constrained with event data.
- The value returned invokes the behavior of the that the is based on.
+ The value returned invokes the behavior of the that the is based on.
The return value is `null` for a that is based on an unknown .
@@ -480,9 +480,9 @@
constrained with event data.
+ The event handler is based on constrained with event data.
- The value returned invokes the behavior of the that the is based on.
+ The value returned invokes the behavior of the that the is based on.
The return value is `null` for a that is based on an unknown .
diff --git a/xml/System.Xaml.Schema/XamlTypeName.xml b/xml/System.Xaml.Schema/XamlTypeName.xml
index 22c44c86d32..d26aa78d0ab 100644
--- a/xml/System.Xaml.Schema/XamlTypeName.xml
+++ b/xml/System.Xaml.Schema/XamlTypeName.xml
@@ -29,11 +29,11 @@
Provides a means to specify a XAML type in terms of name and namespace.
- is the type information class in the XAML type system, whereas is more of a data structure that provides different ways of specifying that type. also provides static helper methods for generating a by resolving an existing type identifier in a XAML namespace.
-
+ is the type information class in the XAML type system, whereas is more of a data structure that provides different ways of specifying that type. also provides static helper methods for generating a by resolving an existing type identifier in a XAML namespace.
+
]]>
@@ -173,11 +173,11 @@
An array of type arguments, each of which must be a .
Initializes a new instance of the class, based on name and namespace strings as well as an array of type arguments.
-
@@ -218,11 +218,11 @@
Gets the name used to construct this .
The name of the type.
- was used to construct this , the value of is .
-
+ was used to construct this , the value of is .
+
]]>
@@ -263,11 +263,11 @@
Gets the XAML namespace identifier used to construct this .
The XAML namespace identifier.
- was used to construct this , the value of is `xamlType.GetXamlNamespaces()[0]`.
-
+ was used to construct this , the value of is `xamlType.GetXamlNamespaces()[0]`.
+
]]>
@@ -341,20 +341,20 @@
Provides a value based on a string that can specify multiple type names, and an object that can resolve a markup prefix into a namespace.
The created .
-
@@ -404,11 +404,11 @@ XamlTypeNameList1 = empty | ',' XamlTypeNameList
Converts the value of this to its equivalent string representation.
The equivalent string representation of this .
- , passing `null` for `prefixLookup`. s
-
+ , passing `null` for `prefixLookup`. s
+
]]>
@@ -444,14 +444,14 @@ XamlTypeNameList1 = empty | ',' XamlTypeNameList
A prefixed usage string.
To be added.
- for this is .
-
- -or-
-
- is not valid.
-
- -or-
-
+ for this is .
+
+ -or-
+
+ is not valid.
+
+ -or-
+
Could not look up the prefix.
@@ -595,11 +595,11 @@ XamlTypeNameList1 = empty | ',' XamlTypeNameList
Gets the type arguments used to construct this .
The type arguments, if any. May be null.
- was used to construct this , the value of is formed from .
-
+ was used to construct this , the value of is formed from .
+
]]>
diff --git a/xml/System.Xaml.Schema/XamlValueConverter`1.xml b/xml/System.Xaml.Schema/XamlValueConverter`1.xml
index c36e6e39009..64f7faa60bd 100644
--- a/xml/System.Xaml.Schema/XamlValueConverter`1.xml
+++ b/xml/System.Xaml.Schema/XamlValueConverter`1.xml
@@ -38,11 +38,11 @@
. The generic implementation of provides indirection for the System.Xaml assembly so that the basic XAML schema and type system does not have to take dependencies on different value conversion techniques that are typically implementations in other assemblies.
+ Instances of this type are returned by methods of the XAML schema API such as . The generic implementation of provides indirection for the System.Xaml assembly so that the basic XAML schema and type system does not have to take dependencies on different value conversion techniques that are typically implementations in other assemblies.
- A can be constructed with a null implementation type, but such a will return `null` for .
+ A can be constructed with a null implementation type, but such a will return `null` for .
- Constructor signatures for use a `converterType` parameter that references the specific type that implements the conversion behavior. For a properly functioning (one that has a nonnull ), the `converterType` type is expected to be castable to the `TConverterBase` constraint. A mismatch condition is not enforced by constructors, but might produce an at run time.
+ Constructor signatures for use a `converterType` parameter that references the specific type that implements the conversion behavior. For a properly functioning (one that has a nonnull ), the `converterType` type is expected to be castable to the `TConverterBase` constraint. A mismatch condition is not enforced by constructors, but might produce an at run time.
]]>
@@ -162,9 +162,9 @@
calls the protected default implementation of to get its value (and might be accessing a stored value if was already called once on this .
+ calls the protected default implementation of to get its value (and might be accessing a stored value if was already called once on this .
- A can be constructed with a null implementation type, but such a will return `null` for .
+ A can be constructed with a null implementation type, but such a will return `null` for .
]]>
@@ -239,9 +239,9 @@
is protected. To get a converter instance with a public API, get the value of .
+ is protected. To get a converter instance with a public API, get the value of .
- A can be constructed with a null implementation type, but such a will return `null` for .
+ A can be constructed with a null implementation type, but such a will return `null` for .
]]>
@@ -402,7 +402,7 @@
## Remarks
The value of this property is established by one of the following:
-- A constructor parameter (see ).
+- A constructor parameter (see ).
- Internal logic that processes other constructor inputs and forms a string.
@@ -555,7 +555,7 @@
value is based on .
+ The value is based on .
]]>
diff --git a/xml/System.Xaml/AmbientPropertyValue.xml b/xml/System.Xaml/AmbientPropertyValue.xml
index b44e2c63ade..11e4e931a2c 100644
--- a/xml/System.Xaml/AmbientPropertyValue.xml
+++ b/xml/System.Xaml/AmbientPropertyValue.xml
@@ -23,25 +23,25 @@
Reports information about an ambient property, as part of an implementation.
- represents an information item that is returned by calling an service method. The `GetAll` methods return enumerations or arrays of items; the `GetFirst` methods return a single .
-
-## About Ambient Properties
- An ambient property is a property whose property value should be available to value converter usage in the XAML node structure and to the object graph underneath it. The ambient concept is relevant for a XAML processor during the object-writing phase of the load path or the serialization phase of a save path.
-
- A type can also be attributed as ambient. In this case, all properties that use the attributed type are reported as ambient.
-
- In the load path case, the ambient property value might influence the object graph produced value of other properties that exist underneath it in a XAML node structure. When processed as a XAML node stream, the ambient concept implies that the ambient property value must be available to type converters and markup extensions from `StartObject` to `EndObject`. Similarly, a type converter or markup extension that is used for the save path can look up the ambient property and its value. Therefore, the XAML that is produced is a better round-trip representation.
-
- By its language definition, XAML does not specify the order in which members of an object must be processed. However, any ambient property value must be processed first by the XAML reader so that the type converter and markup extension usage that are contained in other properties can access it through the service.
-
- is a similar concept that also influences XAML node-processing order. However, can only be used for peer member and node relationships; it cannot influence all descendants. Also, directly influences object graph property setting, whereas the ambient technique relies on type converters or markup extensions. In the ambient technique, there must also be a specific type converter or markup extension definition. It is up to each type converter or markup extension to determine how the ambient property value should be interpreted and applied to the object graph location where the type converter or markup extension is used.
-
-## WPF Usage Notes
- An ambient property scenario that is illustrated in the WPF feature set is , which can qualify the necessary property name lookups for other values. In this case, the value qualifies the values in the XAML nodes underneath it. uses the type converter behavior for a . This behavior accesses the ambient value by querying from a service context that is available to type converters and markup extensions.
-
+ represents an information item that is returned by calling an service method. The `GetAll` methods return enumerations or arrays of items; the `GetFirst` methods return a single .
+
+## About Ambient Properties
+ An ambient property is a property whose property value should be available to value converter usage in the XAML node structure and to the object graph underneath it. The ambient concept is relevant for a XAML processor during the object-writing phase of the load path or the serialization phase of a save path.
+
+ A type can also be attributed as ambient. In this case, all properties that use the attributed type are reported as ambient.
+
+ In the load path case, the ambient property value might influence the object graph produced value of other properties that exist underneath it in a XAML node structure. When processed as a XAML node stream, the ambient concept implies that the ambient property value must be available to type converters and markup extensions from `StartObject` to `EndObject`. Similarly, a type converter or markup extension that is used for the save path can look up the ambient property and its value. Therefore, the XAML that is produced is a better round-trip representation.
+
+ By its language definition, XAML does not specify the order in which members of an object must be processed. However, any ambient property value must be processed first by the XAML reader so that the type converter and markup extension usage that are contained in other properties can access it through the service.
+
+ is a similar concept that also influences XAML node-processing order. However, can only be used for peer member and node relationships; it cannot influence all descendants. Also, directly influences object graph property setting, whereas the ambient technique relies on type converters or markup extensions. In the ambient technique, there must also be a specific type converter or markup extension definition. It is up to each type converter or markup extension to determine how the ambient property value should be interpreted and applied to the object graph location where the type converter or markup extension is used.
+
+## WPF Usage Notes
+ An ambient property scenario that is illustrated in the WPF feature set is , which can qualify the necessary property name lookups for other values. In this case, the value qualifies the values in the XAML nodes underneath it. uses the type converter behavior for a . This behavior accesses the ambient value by querying from a service context that is available to type converters and markup extensions.
+
]]>
diff --git a/xml/System.Xaml/AttachablePropertyServices.xml b/xml/System.Xaml/AttachablePropertyServices.xml
index cbb4d7bb461..a87c38c39df 100644
--- a/xml/System.Xaml/AttachablePropertyServices.xml
+++ b/xml/System.Xaml/AttachablePropertyServices.xml
@@ -23,13 +23,13 @@
Provides static helper methods that obtain values and accessor method information from an attachable property and that work with an attached property store.
- interface. However, parameters for passing the store into are not typed as the interface and are instead typed as `object`. This is because you can pass an arbitrary object, and in this case, an internal default attachable property store is used.
-
- Best practice for the arbitrary object is to pass the object that would otherwise be associated with the store. Do not pass `null` to indicate that you do not have an to use. Passing `null` enters code paths that do nothing. Passing an object that is non-null, but evaluates as `null` on an attempted cast, uses the default attachable property store.
-
+ interface. However, parameters for passing the store into are not typed as the interface and are instead typed as `object`. This is because you can pass an arbitrary object, and in this case, an internal default attachable property store is used.
+
+ Best practice for the arbitrary object is to pass the object that would otherwise be associated with the store. Do not pass `null` to indicate that you do not have an to use. Passing `null` enters code paths that do nothing. Passing an object that is non-null, but evaluates as `null` on an attempted cast, uses the default attachable property store.
+
]]>
@@ -67,11 +67,11 @@
The source index into which to copy.
Copies all attachable property/value pairs from a specified attachable property store and into a destination array.
- implementation that is constrained with a key/value pair, which might be the source of exceptions that are not listed in this topic.
-
+ implementation that is constrained with a key/value pair, which might be the source of exceptions that are not listed in this topic.
+
]]>
@@ -141,11 +141,11 @@
if an attachable property entry for was found in the store and removed from it; otherwise, .
-
diff --git a/xml/System.Xaml/IAmbientProvider.xml b/xml/System.Xaml/IAmbientProvider.xml
index 60917bb4575..1b35d642888 100644
--- a/xml/System.Xaml/IAmbientProvider.xml
+++ b/xml/System.Xaml/IAmbientProvider.xml
@@ -26,7 +26,7 @@
## Remarks
This interface represents the service that can help type converters and markup extensions to get the ambient property identifiers for the XAML type system ( objects). The service can also get the ambient property values from classes. Types can also be ambient; any member that uses that type as its value should be considered ambient.
- This service is typically returned through a call to , which is made against a context-specific service provider. The service provider is generally available to contexts that need it, such as the execution code of a value converter. For more information, see [Type Converters and Markup Extensions for XAML](/dotnet/framework/xaml-services/type-converters-and-markup-extensions-for-xaml) and [Service Contexts Available to Type Converters and Markup Extensions](/dotnet/framework/xaml-services/service-contexts-available-to-type-converters-and-markup-extensions).
+ This service is typically returned through a call to , which is made against a context-specific service provider. The service provider is generally available to contexts that need it, such as the execution code of a value converter. For more information, see [Type Converters and Markup Extensions for XAML](/dotnet/framework/xaml-services/type-converters-and-markup-extensions-for-xaml) and [Service Contexts Available to Type Converters and Markup Extensions](/dotnet/framework/xaml-services/service-contexts-available-to-type-converters-and-markup-extensions).
## About Ambient Properties
An ambient property is a property whose property value should be available to type converter and markup extension usages that exist in the XAML node structure and in the object graph created from it. This is relevant for a XAML processor during the object-writing phase of the load path or the serialization phase of a save path.
@@ -38,9 +38,9 @@
is a similar concept that also influences XAML node-processing order. However, can only be used for peer member and node relationships; it cannot influence all descendants. Also, directly influences object graph property setting; whereas the ambient technique relies on type converters or markup extensions. In the ambient technique, there must also be a specific type converter or markup extension definition that specifies how the ambient property value should be interpreted and applied to the object.
## WPF Usage Notes
- An ambient property scenario that is illustrated in the WPF feature set is , which can qualify the necessary property name lookups for other values. In this case, the value qualifies the values that are located in the XAML nodes underneath it. uses the type converter behavior for a . This behavior accesses the ambient value by querying from a service context that is available to type converters and markup extensions.
+ An ambient property scenario that is illustrated in the WPF feature set is , which can qualify the necessary property name lookups for other values. In this case, the value qualifies the values that are located in the XAML nodes underneath it. uses the type converter behavior for a . This behavior accesses the ambient value by querying from a service context that is available to type converters and markup extensions.
- An ambient type scenario that is illustrated in the WPF feature set is . has a property that can contain other objects to merge, and the intended order of resource resolution for the merged scenario clashes with the order that types are loaded. applies so that a XAML processor can correctly process the references in a merged dictionary with `StaticResource` usages. Specifically, `StaticResource` is a markup extension, which calls .
+ An ambient type scenario that is illustrated in the WPF feature set is . has a property that can contain other objects to merge, and the intended order of resource resolution for the merged scenario clashes with the order that types are loaded. applies so that a XAML processor can correctly process the references in a merged dictionary with `StaticResource` usages. Specifically, `StaticResource` is a markup extension, which calls .
]]>
@@ -192,9 +192,9 @@
## Remarks
Each that is returned contains the identifier and a property value.
- This particular overload can search for ambient types and ambient properties in the same pass through a tree. Using this overload results in an ordering of items in the return value that is different from or .
+ This particular overload can search for ambient types and ambient properties in the same pass through a tree. Using this overload results in an ordering of items in the return value that is different from or .
- This overload also permits the search to not use any saved context. The or overloads implicitly use a saved context if it is available (they always act as if an implicit `searchLiveStackOnly` parameter is `false`). The concept of a saved context is potentially handled differently by particular XAML schema contexts, or by frameworks that incorporate XAML. In the WPF XAML implementation, saved contexts are used for template expansion, as well as other feature areas.
+ This overload also permits the search to not use any saved context. The or overloads implicitly use a saved context if it is available (they always act as if an implicit `searchLiveStackOnly` parameter is `false`). The concept of a saved context is potentially handled differently by particular XAML schema contexts, or by frameworks that incorporate XAML. In the WPF XAML implementation, saved contexts are used for template expansion, as well as other feature areas.
]]>
diff --git a/xml/System.Xaml/IDestinationTypeProvider.xml b/xml/System.Xaml/IDestinationTypeProvider.xml
index d29961ed3b9..1aec03d9558 100644
--- a/xml/System.Xaml/IDestinationTypeProvider.xml
+++ b/xml/System.Xaml/IDestinationTypeProvider.xml
@@ -24,9 +24,9 @@
is resolved from the current position of the XAML node stream by using current XAML schema context.
+ The type that is returned by is resolved from the current position of the XAML node stream by using current XAML schema context.
- If you use the XAML type system as implemented by .NET Framework XAML Services and access the service context under these conditions, returns the based on available XAML type system information and CLR-based XAML schema context.
+ If you use the XAML type system as implemented by .NET Framework XAML Services and access the service context under these conditions, returns the based on available XAML type system information and CLR-based XAML schema context.
This service is relevant for situations where pure CLR reflection or other mechanisms might not provide enough information about a destination type. The following is a list of some relevant scenarios for :
@@ -34,7 +34,7 @@
- You want to ensure that the destination type of a type converter usage matches the expected type that the type converter can produce. This scenario is useful when the destination type is parameterized or generic.
-- Your value converter is being called from a usage that nested in another value converter. In this case, unwinds the nesting and returns the destination type of the actual property being set, instead of returning the output type of any intervening value converter.
+- Your value converter is being called from a usage that nested in another value converter. In this case, unwinds the nesting and returns the destination type of the actual property being set, instead of returning the output type of any intervening value converter.
Type converters and markup extensions can query for as a service on the service context that is provided by a XAML object writer, when the XAML object writer invokes value conversion behavior. For more information, see [Type Converters and Markup Extensions for XAML](/dotnet/framework/xaml-services/type-converters-and-markup-extensions-for-xaml) and [Service Contexts Available to Type Converters and Markup Extensions](/dotnet/framework/xaml-services/service-contexts-available-to-type-converters-and-markup-extensions).
@@ -77,7 +77,7 @@
This method has no input parameter. What to return (and whether to return anything other than `null`) is determined by the current node position in the XAML node stream.
## Service Implementers
- If you reimplement this service, the method should return the type that a markup extension or type converter expects to check against its most specific conversion or output type.
+ If you reimplement this service, the method should return the type that a markup extension or type converter expects to check against its most specific conversion or output type.
]]>
diff --git a/xml/System.Xaml/IXamlNameResolver.xml b/xml/System.Xaml/IXamlNameResolver.xml
index 804f4d1c045..9bfcd3d6a26 100644
--- a/xml/System.Xaml/IXamlNameResolver.xml
+++ b/xml/System.Xaml/IXamlNameResolver.xml
@@ -192,7 +192,7 @@
does not return a token because a is involved in the second pass on an existing token.
+ This property returns `false` when does not return a token because a is involved in the second pass on an existing token.
]]>
@@ -267,7 +267,7 @@
and APIs.
+ If a value is returned as `null`, a forward reference might exist. Implementations that want to support forward references can use the `FixupToken` pattern through the and APIs.
]]>
diff --git a/xml/System.Xaml/IXamlObjectWriterFactory.xml b/xml/System.Xaml/IXamlObjectWriterFactory.xml
index 6ee60be02fd..95686d82d47 100644
--- a/xml/System.Xaml/IXamlObjectWriterFactory.xml
+++ b/xml/System.Xaml/IXamlObjectWriterFactory.xml
@@ -21,11 +21,11 @@
Represents a service that generates a that is based on the current internal parser context.
- to construct a new compatible XAML object writer. The factory-constructed object writer can resume writing to the object graph after the first write operation is suspended.
-
+ to construct a new compatible XAML object writer. The factory-constructed object writer can resume writing to the object graph after the first write operation is suspended.
+
]]>
diff --git a/xml/System.Xaml/NamespaceDeclaration.xml b/xml/System.Xaml/NamespaceDeclaration.xml
index 1558658310c..346f31992a9 100644
--- a/xml/System.Xaml/NamespaceDeclaration.xml
+++ b/xml/System.Xaml/NamespaceDeclaration.xml
@@ -38,7 +38,7 @@
By convention, the identifier of a XAML namespace resembles a Uniform Resource Identifier (URI). However, the property of is of type . The APIs of .NET Framework XAML Services usually treat XAML namespace identifiers as strings. The relative versus absolute distinctions in the true type are irrelevant for identifying a XAML (or XML) namespace. The URI-as-namespace convention is also typical in XML.
- Objects of this type are used as input for the method when writing XAML node stream information into an object graph. Objects of this type are used as input for the method when writing XAML node stream information as XML for serialization.
+ Objects of this type are used as input for the method when writing XAML node stream information into an object graph. Objects of this type are used as input for the method when writing XAML node stream information as XML for serialization.
A namespace declaration may have a value for the prefix. A prefix represents a declaration of the default XAML namespace.
diff --git a/xml/System.Xaml/XamlDirective.xml b/xml/System.Xaml/XamlDirective.xml
index bffdfc7e231..9741821bcca 100644
--- a/xml/System.Xaml/XamlDirective.xml
+++ b/xml/System.Xaml/XamlDirective.xml
@@ -30,7 +30,7 @@
The following list shows the returned results of a XAML directive for when the member is actually a :
-- is always `null`.
+- is always `null`.
- is always `null`.
@@ -103,7 +103,7 @@
## Remarks
> [!IMPORTANT]
-> This signature of the constructor always generates an identifier for the directive where reports `true` for the XAML type system. If the necessary information is available (the backing type and a text syntax information item for conversion) and you want an identifier that can apply the directive, use the constructor signature instead.
+> This signature of the constructor always generates an identifier for the directive where reports `true` for the XAML type system. If the necessary information is available (the backing type and a text syntax information item for conversion) and you want an identifier that can apply the directive, use the constructor signature instead.
If you use this signature, the value for the instance is ; and the value and value are both `null`.
@@ -190,7 +190,7 @@
constructor signature. If you construct by using the constructor signature, the value for the instance is . However, the instance always reports as `true`. This behavior typically affects attempts to write object graphs and also affects other practical uses of a value.
+ You can set this value in the constructor signature. If you construct by using the constructor signature, the value for the instance is . However, the instance always reports as `true`. This behavior typically affects attempts to write object graphs and also affects other practical uses of a value.
You typically would not construct a XAML directive case where is .
@@ -740,7 +740,7 @@
## Remarks
The implementation only calls base and does nothing more. The base implementation returns results based either on internal reflection, or checking for a null value of , processing in that order. seals this virtual member; therefore, all types and all predefined XAML directives must use this behavior.
- See Remarks in for more information about what information carries.
+ See Remarks in for more information about what information carries.
]]>
@@ -777,7 +777,7 @@
implementation only calls base and does nothing more. See . seals this virtual member; therefore, all types and all predefined XAML directives must use this behavior.
+ The implementation only calls base and does nothing more. See . seals this virtual member; therefore, all types and all predefined XAML directives must use this behavior.
]]>
diff --git a/xml/System.Xaml/XamlMember.xml b/xml/System.Xaml/XamlMember.xml
index d6a5927412f..f4a21ad7f1c 100644
--- a/xml/System.Xaml/XamlMember.xml
+++ b/xml/System.Xaml/XamlMember.xml
@@ -33,24 +33,24 @@
can use three methodologies for returning information about a XAML member: standard common language runtime (CLR) reflection; a reference-only reflection technique calling internal APIs that use optimized bit flags; or calling into virtual overrides of the `Lookup*` API that is provided by possible subclasses. For most uses of .NET Framework XAML Services APIs and the API, you use the default XAML schema context. The default XAML schema context for .NET Framework XAML Services uses CLR backing for the type system. This enables the XAML readers and XAML writers to work with any type or member that is defined in, or otherwise available to, the CLR and its reflection techniques.
## Lookup* APIs and XamlMember Derived Classes
- defines several virtual members that derived classes might override. These members have names that always start with the string `Lookup`. The remainder of the API name then references the property that the virtual method influences. For example, a derived class might override to influence what the base-defined property returns in a derived class. You can predict return values for such properties in or existing derived classes by reading the documentation for the relevant `Lookup*` methods.
+ defines several virtual members that derived classes might override. These members have names that always start with the string `Lookup`. The remainder of the API name then references the property that the virtual method influences. For example, a derived class might override to influence what the base-defined property returns in a derived class. You can predict return values for such properties in or existing derived classes by reading the documentation for the relevant `Lookup*` methods.
The purpose of the `Lookup*` methods is to provide a XAML type system extension technique that incorporates the base class. By deriving from and overriding the `Lookup` virtual members, you can define the concept of a XAML member for a XAML schema in a XAML type system without being tied to the specifics of a backing type system or technology. You can also use a provided XAML schema context under this scheme and still return the results you want.
- As an example, consider the property . This property informs callers that operations such as using a for serialization can write a value for this member on a target object. In the default implementation, the determination of whether the member is writable is made by using reflection techniques against the backing CLR and its members (the ). Therefore, by default, the XAML type system depends on the CLR type system. However, you can remove this dependency for your XAML type system reporting of by overriding the API . Within your override, you can use other determinations, such as metadata that is specific to your technology, a primary lookup table that is optimized for a fixed XAML vocabulary, or a variety of other strategies for determining whether a XAML member is writable in your XAML vocabulary.
+ As an example, consider the property . This property informs callers that operations such as using a for serialization can write a value for this member on a target object. In the default implementation, the determination of whether the member is writable is made by using reflection techniques against the backing CLR and its members (the ). Therefore, by default, the XAML type system depends on the CLR type system. However, you can remove this dependency for your XAML type system reporting of by overriding the API . Within your override, you can use other determinations, such as metadata that is specific to your technology, a primary lookup table that is optimized for a fixed XAML vocabulary, or a variety of other strategies for determining whether a XAML member is writable in your XAML vocabulary.
## Constructing XamlMember Without XAML Schema Context
Most constructors of require a as part of their initialization. The is also necessary for many internal operations, such as obtaining information that is being forwarded from the backing type. When you are working with the API, you typically have a that is available from a surrounding construct such as a . In this case, you can pass the reference through to all XAML type system calls that require a XAML schema context.
- One specific constructor, , does not require a . However, a that is constructed with the signature returns `true` for .
+ One specific constructor, , does not require a . However, a that is constructed with the signature returns `true` for .
- For a load path that involves , such a member cannot be written into an object graph. Using the .NET Framework XAML services implementation, the call throws a when the relevant reports `true` for .
+ For a load path that involves , such a member cannot be written into an object graph. Using the .NET Framework XAML services implementation, the call throws a when the relevant reports `true` for .
You should not construct a that has a value of `true` for unless your implementation can handle the exceptions from , or you have other ways to adjust the behavior. For example, one or more of the following might be true of your implementation:
- The XAML schema context is available later.
- You use a member invoker pattern.
-- You deliberately override in a custom XAML writer.
+- You deliberately override in a custom XAML writer.
]]>
@@ -312,9 +312,9 @@
that is constructed with the signature returns `true` for .
+ A that is constructed with the signature returns `true` for .
- For a load path that involves , such a member cannot be written into an object graph. Using the .NET Framework XAML Services implementation, the call throws a when the relevant reports `true` for .
+ For a load path that involves , such a member cannot be written into an object graph. Using the .NET Framework XAML Services implementation, the call throws a when the relevant reports `true` for .
You should not construct a with `true` unless your implementation can handle the exceptions from , or you have other ways to adjust the behavior. For example, one or more of the following might be true of your implementation:
@@ -322,7 +322,7 @@
- You use a member invoker pattern.
-- You deliberately override in a custom XAML writer.
+- You deliberately override in a custom XAML writer.
]]>
@@ -534,7 +534,7 @@
invokes or a specific override of that method. This behavior occurs in cases where the initial internal reflection logic has not already set the information.
+ Calling invokes or a specific override of that method. This behavior occurs in cases where the initial internal reflection logic has not already set the information.
]]>
@@ -569,7 +569,7 @@
invokes or a specific override of that method. This behavior occurs in cases where the initial internal reflection logic has not already set the information.
+ Calling invokes or a specific override of that method. This behavior occurs in cases where the initial internal reflection logic has not already set the information.
The `DependsOn` pattern can be applied to object model cases that deliberately contradict a general XAML rule. The general XAML rule is that members of a type that are not passed as initialization text (or by a factory method in XAML 2009) must be able to be assigned in any order. By applying a `DependsOn` pattern to a member, you can instruct XAML writers to always process the referenced member before this member. You can apply this pattern in situations where the value of the current member requires context or other information that is only available after the other member is set.
@@ -725,7 +725,7 @@
call result from the that is associated with this .
+ The default implementation returns the call result from the that is associated with this .
]]>
@@ -762,11 +762,11 @@
## Remarks
The `Invoker` pattern is an advanced XAML type system extension technique. The `Invoker` pattern provides a way to inject different schema type mapping behavior, while still using XAML type system definitions from .NET Framework XAML Services.
- If a override returns `null`, or if the default implementation returns `null` because it lacks the for this , the property returns .
+ If a override returns `null`, or if the default implementation returns `null` because it lacks the for this , the property returns .
is the default. This is true for most operations that use .NET Framework XAML Services and the default XAML schema context, and where no specific override `Invoker` patterns are passed for construction of XAML type system entities.
- Calling invokes or a specific override of that method.
+ Calling invokes or a specific override of that method.
]]>
@@ -808,9 +808,9 @@
invokes or a specific override of that method. This behavior occurs in implementations where the initial internal reflection logic has not already set the information.
+ Calling invokes or a specific override of that method. This behavior occurs in implementations where the initial internal reflection logic has not already set the information.
- Checking for ambient properties is are usually part of XAML processing logic to make sure that objects and values that rely on ambient usage for type qualification can function correctly. The .NET Framework XAML Services APIs and the default XAML schema context populates this value based on attribution with . The default implementation of uses this existing technique, and it returns `true` if exists on a member declaration.
+ Checking for ambient properties is are usually part of XAML processing logic to make sure that objects and values that rely on ambient usage for type qualification can function correctly. The .NET Framework XAML Services APIs and the default XAML schema context populates this value based on attribution with . The default implementation of uses this existing technique, and it returns `true` if exists on a member declaration.
is found on members of several WPF types, which include , , and . It is also found on the type, which connotes that any member that uses as its type should be considered ambient even if the member is not specifically attributed.
@@ -929,7 +929,7 @@
invokes or a specific override of that method.
+ Calling invokes or a specific override of that method.
]]>
@@ -1001,7 +1001,7 @@
invokes or a specific override of that method.
+ Calling invokes or a specific override of that method.
]]>
@@ -1039,10 +1039,10 @@
## Remarks
The value checks whether the is public. If is nonpublic, the `get` accessor is not callable in a practical way, and returns `false`.
- Calling invokes or a specific override of that method.
+ Calling invokes or a specific override of that method.
> [!IMPORTANT]
-> The method is virtual and therefore, can be overridden. The override has the potential to change (maliciously or otherwise) the reported access information of a XAML member so that it no longer aligns in an expected way with the type system access information of its underlying CLR declaration. For any security-critical checks of access levels, use the underlying CLR type instead.
+> The method is virtual and therefore, can be overridden. The override has the potential to change (maliciously or otherwise) the reported access information of a XAML member so that it no longer aligns in an expected way with the type system access information of its underlying CLR declaration. For any security-critical checks of access levels, use the underlying CLR type instead.
]]>
@@ -1078,13 +1078,13 @@
that is constructed with the signature returns `true` for .
+ A that is constructed with the signature returns `true` for .
- For a load path that involves , a with `true` for cannot be written into an object graph. Under the default implementations in .NET Framework XAML Services APIs, the call throws a when the relevant reports `true` for .
+ For a load path that involves , a with `true` for cannot be written into an object graph. Under the default implementations in .NET Framework XAML Services APIs, the call throws a when the relevant reports `true` for .
You should not construct a that has a value of `true` for unless your implementation can handle the exceptions from , or you have other ways to adjust the behavior.
- Calling invokes or a specific override of that method.
+ Calling invokes or a specific override of that method.
]]>
@@ -1126,7 +1126,7 @@
invokes or a specific override of that method.
+ Calling invokes or a specific override of that method.
]]>
@@ -1164,10 +1164,10 @@
## Remarks
The value considers whether the is public as part of the determination. If is nonpublic, the `set` accessor is not callable in a practical way, and returns `false`.
- Calling invokes or a specific override of that method.
+ Calling invokes or a specific override of that method.
> [!IMPORTANT]
-> The method is virtual and therefore, can be overridden. The override has the potential to change (maliciously or otherwise) the reported access information of a XAML member so that it no longer aligns in an expected way with the type system access information of its underlying CLR declaration. For any security-critical checks of access levels, use the underlying CLR type instead.
+> The method is virtual and therefore, can be overridden. The override has the potential to change (maliciously or otherwise) the reported access information of a XAML member so that it no longer aligns in an expected way with the type system access information of its underlying CLR declaration. For any security-critical checks of access levels, use the underlying CLR type instead.
]]>
@@ -1203,7 +1203,7 @@
.
+ Override this method to provide the internal reflection with an alternative way to obtain CLR attribute values. In the absence of an override, the internal reflector uses typical CLR reflection logic such as calls to .
The default implementation returns `null`.
@@ -1366,11 +1366,11 @@
are usually part of XAML processing logic to make sure that objects and values that rely on ambient usage for type qualification can function correctly. The default .NET Framework XAML Services implementation uses CLR attributing to obtain this information from reflection over backing types. Specifically, the default implementation checks for and returns `true` for if exists on a member definition.
+ This method is invoked by internal calls that check for ambient XAML property information. Ambient property behavior is accounted for in the public API behavior of XAML readers and XAML writers. The internal calls that reference are usually part of XAML processing logic to make sure that objects and values that rely on ambient usage for type qualification can function correctly. The default .NET Framework XAML Services implementation uses CLR attributing to obtain this information from reflection over backing types. Specifically, the default implementation checks for and returns `true` for if exists on a member definition.
Override this method if you are not using for this purpose and intend to replace that technique for indicating ambient XAML properties with your own technique.
- Example APIs from WPF that attribute with are and .
+ Example APIs from WPF that attribute with are and .
]]>
@@ -1490,12 +1490,12 @@
## Remarks
The default implementation returns results based either on internal reflection or the negation of , processing in that order.
- returns whether the member itself is public; it returns `true` for a public member on a nonpublic declaring type. Use instead, if you also want to consider the visibility of the declaring type.
+ returns whether the member itself is public; it returns `true` for a public member on a nonpublic declaring type. Use instead, if you also want to consider the visibility of the declaring type.
This method is invoked when a caller gets a value from . Override this method if you want to report uniform results for an entire derived class, or if you have specialized metadata available to determine this on a per-case basis.
> [!IMPORTANT]
-> The method is virtual and therefore, can be overridden. The override has the potential to change (maliciously or otherwise) the reported access information of a XAML member so that it no longer aligns in an expected way with the type system access information of its underlying CLR declaration. For any security-critical checks of access levels, use the underlying CLR type instead.
+> The method is virtual and therefore, can be overridden. The override has the potential to change (maliciously or otherwise) the reported access information of a XAML member so that it no longer aligns in an expected way with the type system access information of its underlying CLR declaration. For any security-critical checks of access levels, use the underlying CLR type instead.
]]>
@@ -1618,7 +1618,7 @@
This method is invoked when a caller gets a value from . Override this method if you want to report uniform results for an entire derived class, or if you have specialized metadata available to determine this on a per-case basis.
> [!IMPORTANT]
-> The method is virtual and therefore, can be overridden. The override has the potential to change (maliciously or otherwise) the reported access information of a XAML member so that it no longer aligns in an expected way with the type system access information of its underlying CLR declaration. For any security-critical checks of access levels, use the underlying CLR type instead.
+> The method is virtual and therefore, can be overridden. The override has the potential to change (maliciously or otherwise) the reported access information of a XAML member so that it no longer aligns in an expected way with the type system access information of its underlying CLR declaration. For any security-critical checks of access levels, use the underlying CLR type instead.
]]>
@@ -1684,7 +1684,7 @@
always returns . For attachable members, returns a result based on examining the accessor parameter type and interprets that type based on XAML schema context.
+ The default implementation distinguishes between attachable and non-attachable members. For non-attachable members, always returns . For attachable members, returns a result based on examining the accessor parameter type and interprets that type based on XAML schema context.
This method is invoked when a caller gets a value from . Override this method if you want to report uniform results for an entire derived class, or if you have specialized metadata available to determine this on a per-case basis.
@@ -1774,7 +1774,7 @@
## Remarks
The default implementation uses the following logic and processing order:
-- If attributing exists at the member level (), the attribute information is used for a call to against the XAML schema context.
+- If attributing exists at the member level (), the attribute information is used for a call to against the XAML schema context.
- If is valid, a type converter that is associated with the type is returned.
@@ -1817,9 +1817,9 @@
property as and returns the value of (with the parameter set to `true`), which means that the returned method can be nonpublic. This behavior can result in `null` for certain cases. including cases where no associated accessor exists or the member is not a property.
+ The default implementation interprets the property as and returns the value of (with the parameter set to `true`), which means that the returned method can be nonpublic. This behavior can result in `null` for certain cases. including cases where no associated accessor exists or the member is not a property.
- This method is invoked when a caller gets a value from the property on an associated . Override this method if you want to report uniform results for an entire derived class, or if you have specialized metadata available to determine this on a per-case basis. Make sure to implement , , and so that they all return correlated results.
+ This method is invoked when a caller gets a value from the property on an associated . Override this method if you want to report uniform results for an entire derived class, or if you have specialized metadata available to determine this on a per-case basis. Make sure to implement , , and so that they all return correlated results.
]]>
@@ -1859,7 +1859,7 @@
If an underlying member was set during construction, you should not need to call this method.
- This method is invoked when a caller gets a value from . Override this method if you want to report uniform results for an entire derived class, or if you have specialized metadata available to determine this on a per-case basis. Make sure to implement , , and so that they all return correlated results.
+ This method is invoked when a caller gets a value from . Override this method if you want to report uniform results for an entire derived class, or if you have specialized metadata available to determine this on a per-case basis. Make sure to implement , , and so that they all return correlated results.
]]>
@@ -1896,9 +1896,9 @@
as and returns the value of (with the parameter set to `true`), which means that the returned method can be nonpublic. This can result in `null` for certain cases, including cases where there is no such accessor, or the member is not a property.
+ The default implementation interprets as and returns the value of (with the parameter set to `true`), which means that the returned method can be nonpublic. This can result in `null` for certain cases, including cases where there is no such accessor, or the member is not a property.
- This method is invoked when a caller gets a value from on an associated .Override this method if you want to report uniform results for an entire derived class, or if you have specialized metadata available to determine this on a per-case basis. Make sure to implement , , and so that they all return correlated results.
+ This method is invoked when a caller gets a value from on an associated .Override this method if you want to report uniform results for an entire derived class, or if you have specialized metadata available to determine this on a per-case basis. Make sure to implement , , and so that they all return correlated results.
]]>
@@ -1936,7 +1936,7 @@
## Remarks
The default implementation uses the following logic and processing order:
-- If attributing exists at the member level (), the attribute information is used for a call to against the XAML schema context.
+- If attributing exists at the member level (), the attribute information is used for a call to against the XAML schema context.
- If is valid, a value converter that is associated with the type is returned.
@@ -2120,7 +2120,7 @@
property provides the same value as calling and then getting the first value string from the returned list. The preferred XAML namespace should be used when writing the member back to text or other representations that preserve XAML namespace information.
+ The property provides the same value as calling and then getting the first value string from the returned list. The preferred XAML namespace should be used when writing the member back to text or other representations that preserve XAML namespace information.
]]>
@@ -2183,11 +2183,11 @@
returns . For attachable members, returns a result that is based on this logic:
+ The returned value is different for attachable and non-attachable members. For non-attachable members, returns . For attachable members, returns a result that is based on this logic:
- If reflection cannot resolve a backing ( `true`), this method returns an internal constant that represents a generic object type.
-- If the previous condition does not apply, is called. The default implementation returns a that is based on examining the methods that implement the `get` and `set` accessors. A class might override to use a different behavior such as other metadata forms that might report target types for attachable members.
+- If the previous condition does not apply, is called. The default implementation returns a that is based on examining the methods that implement the `get` and `set` accessors. A class might override to use a different behavior such as other metadata forms that might report target types for attachable members.
]]>
@@ -2258,9 +2258,9 @@
invokes or a specific override of that method. This occurs when the initial internal reflection logic has not already set the information.
+ Calling invokes or a specific override of that method. This occurs when the initial internal reflection logic has not already set the information.
- In the default behavior (no override), the returned can have different conceptual meanings. Which meaning applies depends on whether this represents a property, method, or event, as the following list shows:
+ In the default behavior (no override), the returned can have different conceptual meanings. Which meaning applies depends on whether this represents a property, method, or event, as the following list shows:
- For a property, the returned is the type that sets the property or is returned by the property.
@@ -2303,17 +2303,17 @@
invokes or a specific override of that method. This behavior occurs when the initial internal reflection logic has not already set the information.
+ Calling invokes or a specific override of that method. This behavior occurs when the initial internal reflection logic has not already set the information.
Implementations that return a non-null property value for are not necessarily a working . The following is a list of possible non-null return values for and what these values represent:
- The return value reports a type converter that is attributed specifically to that member or more generally to the target type of the converter. This behavior is typically what most XAML type systems and XAML processors look for in order to instantiate a type converter and invoke its methods.
-- The return value reports a built-in value converter. These converters exist for certain internal operations that are performed by a XAML writer. In particular, these built-in value converters convert the raw attribute string values to the XAML language-level primitives. For the .NET Framework XAML Services implementation, these built-in type conversions often forward to a type converter that is defined in the System assembly. For example, a conversion for an value has built-in forwarded conversion, and therefore, the value references .
+- The return value reports a built-in value converter. These converters exist for certain internal operations that are performed by a XAML writer. In particular, these built-in value converters convert the raw attribute string values to the XAML language-level primitives. For the .NET Framework XAML Services implementation, these built-in type conversions often forward to a type converter that is defined in the System assembly. For example, a conversion for an value has built-in forwarded conversion, and therefore, the value references .
-- The return value reports the special case of an unconstrained object model; that is, the has a value of . In this case, the reports that the is {`Object}`. However, is `null` because no actual type or instance is available to perform this conversion. Instead, the object model behavior cannot be determined until run time, when the runtime of the specific technology determines the handling of its object graph.
+- The return value reports the special case of an unconstrained object model; that is, the has a value of . In this case, the reports that the is {`Object}`. However, is `null` because no actual type or instance is available to perform this conversion. Instead, the object model behavior cannot be determined until run time, when the runtime of the specific technology determines the handling of its object graph.
- If you can access a working from , you can invoke its conversion methods. However, many conversion methods rely on service context. If you do not have the same service context available that the type converter expects for its typical role of writing objects for object graphs, the converter methods can throw exceptions.
+ If you can access a working from , you can invoke its conversion methods. However, many conversion methods rely on service context. If you do not have the same service context available that the type converter expects for its typical role of writing objects for object graphs, the converter methods can throw exceptions.
]]>
@@ -2354,7 +2354,7 @@
invokes or a specific override of that method.
+ Calling invokes or a specific override of that method.
]]>
@@ -2389,7 +2389,7 @@
invokes or a specific override of that method. This behavior occurs when the initial internal reflection logic has not already set the information.
+ Calling invokes or a specific override of that method. This behavior occurs when the initial internal reflection logic has not already set the information.
Not all cases that return a non-null property value for are necessarily a working . See ; the same considerations apply to .
diff --git a/xml/System.Xaml/XamlNodeList.xml b/xml/System.Xaml/XamlNodeList.xml
index 5abfb77159c..071c0b622ec 100644
--- a/xml/System.Xaml/XamlNodeList.xml
+++ b/xml/System.Xaml/XamlNodeList.xml
@@ -23,11 +23,11 @@
Provides a list of XAML nodes, which can be used for scenarios such as writing XAML nodes in a deferred manner.
- , you create a writer delegate that exists as the value. The writer delegate is based on an internal XAML writer class that is specifically for XAML nodes.
-
+ , you create a writer delegate that exists as the value. The writer delegate is based on an internal XAML writer class that is specifically for XAML nodes.
+
]]>
@@ -68,11 +68,11 @@
The schema context to use for node operations.
Initializes a new instance of the class, using a provided schema context.
- value.
-
+ value.
+
]]>
@@ -137,11 +137,11 @@
Clears the items in this list.
-
@@ -201,17 +201,17 @@
Returns a XAML reader implementation delegate.
A XAML reader implementation delegate.
- delegate that is returned from in a service mode, where you cast it to . In that mode you can get and set the index values for . In this manner, the set mode enables skipping nodes without using the standard `Read` and `Skip`.
-
+ delegate that is returned from in a service mode, where you cast it to . In that mode you can get and set the index values for . In this manner, the set mode enables skipping nodes without using the standard `Read` and `Skip`.
+
]]>
- The is still in Write mode.
-
- -or-
-
+ The is still in Write mode.
+
+ -or-
+
The writer that is used for the node list has no schema context.
diff --git a/xml/System.Xaml/XamlObjectEventArgs.xml b/xml/System.Xaml/XamlObjectEventArgs.xml
index d9cd2753bd0..80a6b972384 100644
--- a/xml/System.Xaml/XamlObjectEventArgs.xml
+++ b/xml/System.Xaml/XamlObjectEventArgs.xml
@@ -23,11 +23,11 @@
Provides data for callbacks that can be inserted in the sequence for object initialization and property setting. This influences the object graph that is produced by .
- that carries event data. You define the handlers and then set references to them by setting properties of .
-
+ that carries event data. You define the handlers and then set references to them by setting properties of .
+
]]>
diff --git a/xml/System.Xaml/XamlObjectReader.xml b/xml/System.Xaml/XamlObjectReader.xml
index 20a6c8d9cc1..6245d3becf9 100644
--- a/xml/System.Xaml/XamlObjectReader.xml
+++ b/xml/System.Xaml/XamlObjectReader.xml
@@ -30,7 +30,7 @@
More advanced scenarios might supply a override and a specific XAML schema context that the uses and then passes to the writer override.
- Typical scenarios for using call the members that implements; they also call , , and from the base class.
+ Typical scenarios for using call the members that implements; they also call , , and from the base class.
]]>
@@ -360,7 +360,7 @@
APIs, you typically check the property after every operation that potentially advances the reader position, such as the , , or methods. indicates the information that you can obtain from the current reader position and the methods that you call next. For example, you might access the , , , or properties; or you might call the method if you are not interested in the contents of the current node type.
+ When using the APIs, you typically check the property after every operation that potentially advances the reader position, such as the , , or methods. indicates the information that you can obtain from the current reader position and the methods that you call next. For example, you might access the , , , or properties; or you might call the method if you are not interested in the contents of the current node type.
]]>
@@ -397,7 +397,7 @@
method and obtain a `true` result, you typically access the node properties. Depending on the property, you can access the , , , or properties.
+ After you call the method and obtain a `true` result, you typically access the node properties. Depending on the property, you can access the , , , or properties.
]]>
diff --git a/xml/System.Xaml/XamlObjectWriter.xml b/xml/System.Xaml/XamlObjectWriter.xml
index 838236f1a58..2ba26d92125 100644
--- a/xml/System.Xaml/XamlObjectWriter.xml
+++ b/xml/System.Xaml/XamlObjectWriter.xml
@@ -30,28 +30,28 @@
implement a pattern so that the uses the that is defined by the method. logic switches between the `Write` methods, depending on which node type is at the current position in the reader.
+ The `Write` methods of implement a pattern so that the uses the that is defined by the method. logic switches between the `Write` methods, depending on which node type is at the current position in the reader.
## Scope
- A has a concept of scope; that is, the maintains a conceptual point of reference in its output object graph. For a particular scope, certain operations might be valid or invalid, or produce a no-operation result. For example, if you call to write directives for initialization on an object that already exists as an instance, the default implementation throws an exception.
+ A has a concept of scope; that is, the maintains a conceptual point of reference in its output object graph. For a particular scope, certain operations might be valid or invalid, or produce a no-operation result. For example, if you call to write directives for initialization on an object that already exists as an instance, the default implementation throws an exception.
A possible technique for tracking scope in a custom is to align the node actions with a stack or frame class. The stack or frame can keep track of push and pop for each level of object-model depth that is entered or exited while the writes the object graph.
## Callbacks
To support intermediate and advanced scenarios, the mechanism of writing an object graph provides callback entry points that occur when a commits or is about to commit certain actions. Some callbacks are enabled in the settings and are not specific to the object type or the member being written; however, callback information is often available in context or is in the event data that is sent through the callback. The following is a list of relevant callbacks:
-- The callback that is declared by is invoked when the scope goes to a new object and at the phase of object lifetime for each created object.
+- The callback that is declared by is invoked when the scope goes to a new object and at the phase of object lifetime for each created object.
-- The callback that is declared by is invoked when the scope goes to a new object and at the phase of object lifetime for each created object.
+- The callback that is declared by is invoked when the scope goes to a new object and at the phase of object lifetime for each created object.
-- The callback that is declared by is invoked when the scope starts in an object, and occurs when the first call to that object scope is made but not yet committed.
+- The callback that is declared by is invoked when the scope starts in an object, and occurs when the first call to that object scope is made but not yet committed.
-- The callback that is declared by is invoked when the scope starts in an object, and happens when the call to that object scope is made but not yet committed.
+- The callback that is declared by is invoked when the scope starts in an object, and happens when the call to that object scope is made but not yet committed.
-- The callback that is declared by is invoked when is called.
+- The callback that is declared by is invoked when is called.
## Writing Dictionary Keys
- The default implementation of supports type conversion on the constraints of a before the dictionary contents are added to the object graph. In this manner, a generic dictionary can be keyed at run time by objects and can match the relevant generic `Add` and indexer behavior. However, as implemented for the base , this capability exists only for object graph creation from the base class and not for derived classes of .
+ The default implementation of supports type conversion on the constraints of a before the dictionary contents are added to the object graph. In this manner, a generic dictionary can be keyed at run time by objects and can match the relevant generic `Add` and indexer behavior. However, as implemented for the base , this capability exists only for object graph creation from the base class and not for derived classes of .
## Checks for Disposed
XAML writers are potentially used for deferred operations or where a call is made against a XAML writer instance that has been disposed in the interim. Various APIs of might throw in these cases.
@@ -354,7 +354,7 @@
is declared in ), this method creates new and passes them to the handler. The return value is set by reading the value that is passed through the event data. If no handler exists and this method is invoked, the call returns `false`.
+ If the `SetValue` operation for this XAML writer has an associated handler (a is declared in ), this method creates new and passes them to the handler. The return value is set by reading the value that is passed through the event data. If no handler exists and this method is invoked, the call returns `false`.
]]>
@@ -397,7 +397,7 @@
## Remarks
The most typical usage of is to call it only when the node stream is known to be at its end, and the object graph is complete. Otherwise, the object graph is likely to be incomplete, and is not useful for most platform scenarios.
- typically only contains a non-null value if it is called immediately after a call to , and if the current scope is in the member where the object provides a value.
+ typically only contains a non-null value if it is called immediately after a call to , and if the current scope is in the member where the object provides a value.
]]>
@@ -615,7 +615,7 @@
## Remarks
If this `EndObject` position scope is closing the root object, the new object scope becomes the root scope.
- The call to might not yet have created the object because an object member might be a necessary initialization pathway, such as initialization text or initialization parameters. For these cases, the call to actually writes the object.
+ The call to might not yet have created the object because an object member might be a necessary initialization pathway, such as initialization text or initialization parameters. For these cases, the call to actually writes the object.
]]>
@@ -650,9 +650,9 @@
and writing with can be seen in the resulting object graph. does not construct an instance of a type because the API has no information to inform the object graph of what to construct. Instead, the object was created when the parent property was initialized; so a does not need to construct it. In contrast, specifies that an instance of that type should be constructed and inserted into the object graph.
+ The difference between writing with and writing with can be seen in the resulting object graph. does not construct an instance of a type because the API has no information to inform the object graph of what to construct. Instead, the object was created when the parent property was initialized; so a does not need to construct it. In contrast, specifies that an instance of that type should be constructed and inserted into the object graph.
- If you think of the XAML node stream as a series of frames, a is balanced to a call. Therefore, the number of plus calls should equal the number of calls as part of a complete object-writing evaluation of the XAML node stream.
+ If you think of the XAML node stream as a series of frames, a is balanced to a call. Therefore, the number of plus calls should equal the number of calls as part of a complete object-writing evaluation of the XAML node stream.
The conceptual `StartObject` position for an implicit object in the object graph is necessary because although the object value itself is an implicit default, that object might still have members that need to be written based on the XAML node stream. A typical scenario where this occurs is when writes member nodes for a collection property, and the collection initialization is implicit to creating the object that owns the collection property.
@@ -692,9 +692,9 @@
can only be called immediately before a call to one of the following: , , or . The consecutive case is for writing multiple namespace declarations to the same node. Eventually, either or must be called.
+ A namespace declaration can be written if the current scope is a root scope, object scope, or member scope. However, can only be called immediately before a call to one of the following: , , or . The consecutive case is for writing multiple namespace declarations to the same node. Eventually, either or must be called.
- does not use a `Start`/`End` metaphor. Although a XAML namespace has members in the CLR representation sense, the members are known and do not need to be represented as a special type of for extensibility. To access the values of a , you access its and properties.
+ does not use a `Start`/`End` metaphor. Although a XAML namespace has members in the CLR representation sense, the members are known and do not need to be represented as a special type of for extensibility. To access the values of a , you access its and properties.
A namespace declaration may have a value for the prefix. A prefix represents a declaration of the default XAML namespace. Do not attempt to use null to represent the default prefix; it throws an exception in this API. For more information, see .
diff --git a/xml/System.Xaml/XamlObjectWriterSettings.xml b/xml/System.Xaml/XamlObjectWriterSettings.xml
index 522614e0727..4e1b30b383e 100644
--- a/xml/System.Xaml/XamlObjectWriterSettings.xml
+++ b/xml/System.Xaml/XamlObjectWriterSettings.xml
@@ -23,11 +23,11 @@
Provides specific XAML writer settings for .
- can function within specified . Where settings are not specified, an instance of exists that has default values for a constructed , and this instance can be used in merges of settings for a derived class.
-
+ can function within specified . Where settings are not specified, an instance of exists that has default values for a constructed , and this instance can be used in merges of settings for a derived class.
+
]]>
@@ -139,11 +139,11 @@
Gets or sets permissions that the XAML writer observes.
The permissions.
-
@@ -344,14 +344,14 @@
Gets or sets the XAML namescope to use for registering names from the XAML writer if is .
The XAML namescope to use for registering names. The default is .
- might use an external XAML namescope.
-
-## WPF Usage Notes
- In the WPF XAML implementation, XAML writer operations that are initiated by specify a separate XAML namescope. In this WPF scenario, templates should not share a XAML namescope with the root of the XAML page that defines them. Instead, they should process into a separate, designated XAML namescope.
-
+ might use an external XAML namescope.
+
+## WPF Usage Notes
+ In the WPF XAML implementation, XAML writer operations that are initiated by specify a separate XAML namescope. In this WPF scenario, templates should not share a XAML namescope with the root of the XAML page that defines them. Instead, they should process into a separate, designated XAML namescope.
+
]]>
@@ -393,13 +393,13 @@
if the XAML writer ignores implementations; otherwise, . The default is .
- class and its method are part of an overall design for type conversion in the CLR. In XAML systems, you can typically assume that type-converter input is identifiable by the XAML reader, and for purposes of input, is always a string. If you set this property to `true`, you enable a mode where this assumption is codified in the XAML object writer behavior.
-
- This mode supports a compatibility requirement for previous versions of WPF XAML.
-
+ class and its method are part of an overall design for type conversion in the CLR. In XAML systems, you can typically assume that type-converter input is identifiable by the XAML reader, and for purposes of input, is always a string. If you set this property to `true`, you enable a mode where this assumption is codified in the XAML object writer behavior.
+
+ This mode supports a compatibility requirement for previous versions of WPF XAML.
+
]]>
@@ -441,11 +441,11 @@
if type conversion for a object should be disabled. if performing type conversion for a object applies. The default is .
- .
-
+ .
+
]]>
@@ -525,11 +525,11 @@
Gets or sets a preexisting root object for operations.
A preexisting root object for operations.
- call (with object input that is direct instead of coming from the reader) that precedes the first explicit node-write call by the . Any error checking, such as verifying the XAML type of the provided root object, is deferred until that implicit call, instead of being checked when you set this settings property.
-
+ call (with object input that is direct instead of coming from the reader) that precedes the first explicit node-write call by the . Any error checking, such as verifying the XAML type of the provided root object, is deferred until that implicit call, instead of being checked when you set this settings property.
+
]]>
@@ -571,11 +571,11 @@
if the duplicate property check should be omitted; otherwise, .
- .
-
+ .
+
]]>
@@ -617,11 +617,11 @@
if the should omit to call on a markup extension; otherwise, .
- processes the root node (, or members within the root node). This property is relevant for template and defer-load scenarios.
-
+ processes the root node (, or members within the root node). This property is relevant for template and defer-load scenarios.
+
]]>
@@ -652,11 +652,11 @@
Used in the in place of the actual .
A to be used in place of the actual .
-
@@ -697,11 +697,11 @@
Gets or sets the handler to use when the object writer calls into a CLR-implemented for dependency properties.
A handler implementation that handles this case.
- delegate that uses the event data.
-
+ delegate that uses the event data.
+
]]>
diff --git a/xml/System.Xaml/XamlReader.xml b/xml/System.Xaml/XamlReader.xml
index 06c3204ef90..701d7f04ff1 100644
--- a/xml/System.Xaml/XamlReader.xml
+++ b/xml/System.Xaml/XamlReader.xml
@@ -27,30 +27,30 @@
Provides base definitions for classes that consume XAML input and produce XAML node streams.
- is an abstract class and does not provide implementations or definitions that have a working result for all members. Members that do have an implementation in are noted in the remarks for that member. Specifically, has several abstract members that must be implemented, and several virtual members.
-
- Of the virtual members, and each provide a default implementation that is appropriate for most cases. However, the and default implementations rely on other expected behavior of the implementing XAML reader; in particular, they rely on the override. is also a virtual member that has a working default implementation.
-
- The following two classes are the most relevant and practical derived classes in .NET Framework XAML Services and the System.Xaml assembly:
-
-- , which reads an object graph, such as the active object graph of an application at run time.
-
-- , which reads XAML in the form of a XML text file by using a general that loads the file as an intermediary helper class.
-
- Other XAML readers from other frameworks include and .
-
- differs from XML Document Object Model (DOM) and design principles because does not have a `Create` method to return underlying default XAML reader implementations. You must instead instantiate specific derived XAML reader classes by calling their constructors or other class-specific helper APIs.
-
-## Subtree Readers
- For the most part, you call API in the context of specific XAML reader classes that derive from . However, in one particular case, you access API on a practical XAML reader instance that is not public and not derived from or . This case is when you call , which returns a instance. In the default implementation, the that is returned by this API is an internal class.
-
- The obtained for subtree reading has valid actions for APIs such as and , and those actions are based on the parent reader class. This design enables the internal class to track the frame level where the subtree was entered. The acting subtree makes sure that if the current node position is moved beyond the bounds of the subtree, the specific subtree reader reports end-of-file or `null` at the current node.
-
- Notes about subtree reader usage are included on certain APIs.
-
+ is an abstract class and does not provide implementations or definitions that have a working result for all members. Members that do have an implementation in are noted in the remarks for that member. Specifically, has several abstract members that must be implemented, and several virtual members.
+
+ Of the virtual members, and each provide a default implementation that is appropriate for most cases. However, the and default implementations rely on other expected behavior of the implementing XAML reader; in particular, they rely on the override. is also a virtual member that has a working default implementation.
+
+ The following two classes are the most relevant and practical derived classes in .NET Framework XAML Services and the System.Xaml assembly:
+
+- , which reads an object graph, such as the active object graph of an application at run time.
+
+- , which reads XAML in the form of a XML text file by using a general that loads the file as an intermediary helper class.
+
+ Other XAML readers from other frameworks include and .
+
+ differs from XML Document Object Model (DOM) and design principles because does not have a `Create` method to return underlying default XAML reader implementations. You must instead instantiate specific derived XAML reader classes by calling their constructors or other class-specific helper APIs.
+
+## Subtree Readers
+ For the most part, you call API in the context of specific XAML reader classes that derive from . However, in one particular case, you access API on a practical XAML reader instance that is not public and not derived from or . This case is when you call , which returns a instance. In the default implementation, the that is returned by this API is an internal class.
+
+ The obtained for subtree reading has valid actions for APIs such as and , and those actions are based on the parent reader class. This design enables the internal class to track the frame level where the subtree was entered. The acting subtree makes sure that if the current node position is moved beyond the bounds of the subtree, the specific subtree reader reports end-of-file or `null` at the current node.
+
+ Notes about subtree reader usage are included on certain APIs.
+
]]>
@@ -115,11 +115,11 @@
Closes the XAML node stream.
- calls with the `isDisposing` parameter as `true`.
-
+ calls with the `isDisposing` parameter as `true`.
+
]]>
@@ -154,11 +154,11 @@
to release the managed resources; otherwise, .
Releases the unmanaged resources used by the , and optionally, releases the managed resources.
- = `true`.
-
+ = `true`.
+
]]>
@@ -225,11 +225,11 @@
if the position is at the conceptual end-of-file of the XAML node stream; otherwise, .
- , with behavior that correctly reflects the bounds of the entered subtree. For more information, see the "Subtree Readers" section in , or see .
-
+ , with behavior that correctly reflects the bounds of the entered subtree. For more information, see the "Subtree Readers" section in , or see .
+
]]>
@@ -262,11 +262,11 @@
When implemented in a derived class, gets the current member at the reader position, if the reader position is on a .
The current member; or , if the reader position is not on a member.
- , with behavior restrictions. For more information, see the "Subtree Readers" section in , or see .
-
+ , with behavior restrictions. For more information, see the "Subtree Readers" section in , or see .
+
]]>
@@ -300,11 +300,11 @@
When implemented in a derived class, gets the XAML namespace information from the current node.
The XAML namespace information, if it is available; otherwise, .
- of the current node is . The property does not report the XAML namespace that applies to objects or members in a general scoping sense, as interpreted under a XAML schema context. Your application must provide a means to cache information for the acting XAML namespace as it traverses XAML nodes, if you need that information in a manner other than how the XAML schema context reports it to a writer. See for notes on the reference implementation.
-
+ of the current node is . The property does not report the XAML namespace that applies to objects or members in a general scoping sense, as interpreted under a XAML schema context. Your application must provide a means to cache information for the acting XAML namespace as it traverses XAML nodes, if you need that information in a manner other than how the XAML schema context reports it to a writer. See for notes on the reference implementation.
+
]]>
@@ -337,11 +337,11 @@
When implemented in a derived class, gets the type of the current node.
A value of the enumeration.
- , with behavior restrictions. For more information, see the "Subtree Readers" section in , or see .
-
+ , with behavior restrictions. For more information, see the "Subtree Readers" section in , or see .
+
]]>
@@ -376,11 +376,11 @@
if a node is available; otherwise, .
- , with behavior restrictions. For more information, see the "Subtree Readers" section in , or see .
-
+ , with behavior restrictions. For more information, see the "Subtree Readers" section in , or see .
+
]]>
@@ -414,19 +414,19 @@
Returns a that is based on the current , where the returned is used to iterate through a subtree of the XAML node structure.
A new XAML reader instance for the subtree.
- . The returned is an internal class that restricts certain actions. The restrictions are consistent with the purpose of reading only a dimensioned subtree of a larger source for a XAML node set, and of returning end-of-file or `null` at the current node when the subtree is exited.
-
- Generally, you should check the current node from the initial to determine whether you need a subtree reader. How you check this may be implementation-specific; however, avoid creating multiple subtree readers for every subtree. In addition, avoid invoking a subtree reader for certain node cases (for example, for ) that cannot contain a subtree of nodes.
-
- After you obtain a subtree reader, you must call on it to obtain a current node (or call to obtain a next node). You do not automatically obtain an initial node position from the subtree reader when you create it.
-
- The reader you obtain by calling from this default implementation is an internal class. The internal class bases its behavior on the implementation that is being used when is called. The purpose of the internal class is to wrap the and general traversal behavior. The traversal stays within the intended subtree by keeping track of / pairs or / pairs. It also correctly returns `false` for and `true` for when the reader is at the end of the subtree, as defined by its entry point. In general, you assume that any API you call from a subtree reader has the same implementation as the overall except for the traversal bounding behavior.
-
- However, is virtual. Therefore, a specific implementation can provide behavior that differs from the internal wrapper behavior; and a implementation can even disable subtree reader functionality by returning or other exceptions.
-
+ . The returned is an internal class that restricts certain actions. The restrictions are consistent with the purpose of reading only a dimensioned subtree of a larger source for a XAML node set, and of returning end-of-file or `null` at the current node when the subtree is exited.
+
+ Generally, you should check the current node from the initial to determine whether you need a subtree reader. How you check this may be implementation-specific; however, avoid creating multiple subtree readers for every subtree. In addition, avoid invoking a subtree reader for certain node cases (for example, for ) that cannot contain a subtree of nodes.
+
+ After you obtain a subtree reader, you must call on it to obtain a current node (or call to obtain a next node). You do not automatically obtain an initial node position from the subtree reader when you create it.
+
+ The reader you obtain by calling from this default implementation is an internal class. The internal class bases its behavior on the implementation that is being used when is called. The purpose of the internal class is to wrap the and general traversal behavior. The traversal stays within the intended subtree by keeping track of / pairs or / pairs. It also correctly returns `false` for and `true` for when the reader is at the end of the subtree, as defined by its entry point. In general, you assume that any API you call from a subtree reader has the same implementation as the overall except for the traversal bounding behavior.
+
+ However, is virtual. Therefore, a specific implementation can provide behavior that differs from the internal wrapper behavior; and a implementation can even disable subtree reader functionality by returning or other exceptions.
+
]]>
@@ -487,17 +487,17 @@
Skips the current node and advances the reader position to the next node.
- is called by the default implementation. You typically do not call and in sequence.
-
- In the default implementation, different actions are taken depending on which the reader position is currently on. If the reader position is currently on a or , that member or object is skipped. For other values, no action is taken other than calling from the current position.
-
- Subtree readers can call , with behavior restrictions. For more information, see the "Subtree Readers" section in , or see .
-
- The node tree behavior of is based on the XML equivalent . Based on the behavior equivalence, skips the node and its subtree, not just the single entry node.
-
+ is called by the default implementation. You typically do not call and in sequence.
+
+ In the default implementation, different actions are taken depending on which the reader position is currently on. If the reader position is currently on a or , that member or object is skipped. For other values, no action is taken other than calling from the current position.
+
+ Subtree readers can call , with behavior restrictions. For more information, see the "Subtree Readers" section in , or see .
+
+ The node tree behavior of is based on the XML equivalent . Based on the behavior equivalence, skips the node and its subtree, not just the single entry node.
+
]]>
@@ -531,12 +531,12 @@
Releases all resources used by the current instance of the class.
- instance is cast to an interface.
-
+ instance is cast to an interface.
+
]]>
@@ -567,11 +567,11 @@ This member is an explicit interface member implementation. It can be used only
When implemented in a derived class, gets the of the current node.
The of the current node; or , if the current reader position is not on an object.
- , with behavior restrictions. For more information, see the "Subtree Readers" section in , or see .
-
+ , with behavior restrictions. For more information, see the "Subtree Readers" section in , or see .
+
]]>
diff --git a/xml/System.Xaml/XamlSchemaContext.xml b/xml/System.Xaml/XamlSchemaContext.xml
index 5d3612cb04a..a84907bc78f 100644
--- a/xml/System.Xaml/XamlSchemaContext.xml
+++ b/xml/System.Xaml/XamlSchemaContext.xml
@@ -23,18 +23,18 @@
Defines a reusable context for interpreting or mapping XAML types, and the types in the assemblies that underlie them.
-
- In an , a can be shared between multiple callers, which include both full and partial trust callers. This situation exists in frameworks such as WPF, which provide partial-trust access to XAML loading for portions of the WPF application model. The default implementation provides safeguards in this scenario by keeping all its properties and settings immutable. Derived implementations should also consider following this model of immutability for properties and settings of a XAML schema context.
-
- The base class is designed so that lookups have no externally observable side effects. The types that are referenced by APIs in the base class, such as or , also produce no side effects from lookups. All data that is needed to make a schema determination should be available from the construction and settings of the . Notice that no lookup APIs rely on explicitly passed-in services; their input relies on string input only.
-
+ In an , a can be shared between multiple callers, which include both full and partial trust callers. This situation exists in frameworks such as WPF, which provide partial-trust access to XAML loading for portions of the WPF application model. The default implementation provides safeguards in this scenario by keeping all its properties and settings immutable. Derived implementations should also consider following this model of immutability for properties and settings of a XAML schema context.
+
+ The base class is designed so that lookups have no externally observable side effects. The types that are referenced by APIs in the base class, such as or , also produce no side effects from lookups. All data that is needed to make a schema determination should be available from the construction and settings of the . Notice that no lookup APIs rely on explicitly passed-in services; their input relies on string input only.
+
The base class, and and are all thread safe in their base implementations. If you derive from or derive XAML type system classes such as and , you can choose whether your classes will behave as thread safe.
@@ -144,11 +144,11 @@
The settings object to use to construct the .
Initializes a new instance of the class, based on a settings object.
- .
-
+ .
+
]]>
@@ -209,13 +209,13 @@
Provides a nonstandard implementation that does not invoke .
- properties might still be active, and disposing a XAML schema context can interfere with the related defer-load operation.
-
- event handlers, which are hooked internally as weak references, are cleaned up by this implementation.
-
+ properties might still be active, and disposing a XAML schema context can interfere with the related defer-load operation.
+
+ event handlers, which are hooked internally as weak references, are cleaned up by this implementation.
+
]]>
@@ -247,13 +247,13 @@
if a XAML schema and its context use fully qualified assembly names in the values that are returned by the lookup APIs; otherwise, .
- value that is established in the settings for the constructor signature. If other signatures were used for construction or if is not specifically set to `true`, the value of this property is `false`.
-
- The value of this property influences the strings that are returned by . If is `true`, the assembly portion of the string reports the equivalent of .
-
+ value that is established in the settings for the constructor signature. If other signatures were used for construction or if is not specifically set to `true`, the value of this property is `false`.
+
+ The value of this property influences the strings that are returned by . If is `true`, the assembly portion of the string reports the equivalent of .
+
]]>
@@ -285,11 +285,11 @@
Searches the assemblies that are held by this and returns a set of namespaces.
An enumerable set of namespace identifiers. These identifiers are provided as strings.
- is active.
-
+ is active.
+
]]>
@@ -356,13 +356,13 @@
Gets a string that is reported as the preferred prefix for consumers to use when they map the specified XAML namespace.
A string that consumers should use when they map the specified XAML namespace for markup use.
- at the assembly level.
-
+ at the assembly level.
+
]]>
@@ -443,11 +443,11 @@
Returns a value that represents a directive, either for the XAML language or for a particular implementation.
A object that represents the requested directive.
- as part of a XAML type system extension scenario.
-
+ as part of a XAML type system extension scenario.
+
]]>
@@ -493,11 +493,11 @@
Returns a that is based on a CLR type identifier.
The that matches the input .
- .
-
+ .
+
]]>
@@ -613,13 +613,13 @@
Called when operations use this schema context to resolve an assembly that is required in order to resolve the XAML namespaces that it contains.
The resolved assembly.
- construction behavior.
-
- The purpose of this API is to enable first-opportunity resolution against known sets of assemblies, such as against reference assemblies instead of against a global assembly cache. If the list of reference assemblies is populated, the default implementation can access the known reference assemblies.
-
+ construction behavior.
+
+ The purpose of this API is to enable first-opportunity resolution against known sets of assemblies, such as against reference assemblies instead of against a global assembly cache. If the list of reference assemblies is populated, the default implementation can access the known reference assemblies.
+
]]>
@@ -685,15 +685,15 @@
if the schema context permits markup extensions that have duplicate arity; otherwise, . The default is .
- value that is established in the settings for the constructor signature. If other signatures are used for construction or if is not specifically set to `true`, the value of this property is `false`.
-
- Duplicate arity of markup extensions is not specifically addressed by the XAML specification [MS-XAML], section 6.6.7.2. This is because formation of the XAML information item for a markup extension is identical regardless of duplicate arity that might exist in the markup extension implementation. Only the actual invocation of the markup extension and its `ProvideValue` exposes any issues associated with duplicate arity. Behavior for handling duplicate arity is thus undefined and is left up to each implementing XAML schema context and its XAML writer integration. The default XAML schema context as implemented for .NET Framework XAML Services operations does not support duplicate arity; various .NET Framework XAML Services APIs will throw exceptions when processing markup extension usage with underlying duplicate arity.
-
- For more information about defining markup extensions, see [Markup Extensions for XAML Overview](/dotnet/framework/xaml-services/markup-extensions-for-xaml-overview).
-
+ value that is established in the settings for the constructor signature. If other signatures are used for construction or if is not specifically set to `true`, the value of this property is `false`.
+
+ Duplicate arity of markup extensions is not specifically addressed by the XAML specification [MS-XAML], section 6.6.7.2. This is because formation of the XAML information item for a markup extension is identical regardless of duplicate arity that might exist in the markup extension implementation. Only the actual invocation of the markup extension and its `ProvideValue` exposes any issues associated with duplicate arity. Behavior for handling duplicate arity is thus undefined and is left up to each implementing XAML schema context and its XAML writer integration. The default XAML schema context as implemented for .NET Framework XAML Services operations does not support duplicate arity; various .NET Framework XAML Services APIs will throw exceptions when processing markup extension usage with underlying duplicate arity.
+
+ For more information about defining markup extensions, see [Markup Extensions for XAML Overview](/dotnet/framework/xaml-services/markup-extensions-for-xaml-overview).
+
]]>
@@ -731,17 +731,17 @@
if contains a usable result; otherwise, .
- parameter evaluation.
-
- If no other compatible namespace is discovered and this method returns `false`, the `compatibleNamespace` parameter output might have the same value as the `xamlNamespace` input.
-
+ parameter evaluation.
+
+ If no other compatible namespace is discovered and this method returns `false`, the `compatibleNamespace` parameter output might have the same value as the `xamlNamespace` input.
+
]]>
diff --git a/xml/System.Xaml/XamlSchemaContextSettings.xml b/xml/System.Xaml/XamlSchemaContextSettings.xml
index 0e09793fa8b..074cea37a89 100644
--- a/xml/System.Xaml/XamlSchemaContextSettings.xml
+++ b/xml/System.Xaml/XamlSchemaContextSettings.xml
@@ -129,11 +129,11 @@
if a XAML schema and its context use fully qualified assembly names in the values that are returned by the lookup APIs; otherwise, .
- in the constructed schema context. If is `true`, the assembly part of the string reports the equivalent of .
-
+ in the constructed schema context. If is `true`, the assembly part of the string reports the equivalent of .
+
]]>
@@ -176,11 +176,11 @@
if the schema context allows for markup extensions that have duplicate arity; otherwise, .
- , you cannot read the settings directly. Instead, you receive values from specific read-only properties, such as , which report the settings-based values.
-
+ , you cannot read the settings directly. Instead, you receive values from specific read-only properties, such as , which report the settings-based values.
+
]]>
diff --git a/xml/System.Xaml/XamlServices.xml b/xml/System.Xaml/XamlServices.xml
index 4a3a3470505..dba2bbbbeb6 100644
--- a/xml/System.Xaml/XamlServices.xml
+++ b/xml/System.Xaml/XamlServices.xml
@@ -77,9 +77,9 @@
method specify different types of input for the source XAML. The internal implementation first creates an by calling and then creates a new instance of a specialized that processes the input.
+ Different signatures for the method specify different types of input for the source XAML. The internal implementation first creates an by calling and then creates a new instance of a specialized that processes the input.
- In order for the call to successfully create an object graph, the following must be true:
+ In order for the call to successfully create an object graph, the following must be true:
- The source is well-formed and valid XML.
@@ -129,7 +129,7 @@
that is constructed by using a valid XAML-as-string input for the constructor.
+ In order to return the object graph, the `textReader` input should be constructed by using its relevant input. For example, it should pass a that is constructed by using a valid XAML-as-string input for the constructor.
]]>
@@ -170,9 +170,9 @@
method specify different types of input for the source XAML. The internal implementation first creates an by calling and then creates a new instance of a specialized that processes the input.
+ Different signatures for the method specify different types of input for the source XAML. The internal implementation first creates an by calling and then creates a new instance of a specialized that processes the input.
- In order for the call to successfully create an object graph, the following must be true:
+ In order for the call to successfully create an object graph, the following must be true:
- The source is well-formed and valid XML.
@@ -305,7 +305,7 @@
call to successfully create an object tree, the following must be true:
+ In order for the call to successfully create an object tree, the following must be true:
- The `xaml` input is well-formed and valid XML.
@@ -366,7 +366,7 @@
## Remarks
The output from this method is the `ToString` result of an that is created by the method call. That is created by using the following settings: is `true`; and is `true`.
- The returned string can be loaded as valid XML through the method if you processed the string into a stream, or into a reader more specifically dedicated for XAML.
+ The returned string can be loaded as valid XML through the method if you processed the string into a stream, or into a reader more specifically dedicated for XAML.
]]>
@@ -485,7 +485,7 @@
, which creates a as part of the method call.
+ The `fileName` parameter value is used as the `outputFileName` input for a call to , which creates a as part of the method call.
]]>
@@ -625,7 +625,7 @@
, where `closeWriter` is specified as `true`.
+ This method is a wrapper around , where `closeWriter` is specified as `true`.
]]>
diff --git a/xml/System.Xaml/XamlType.xml b/xml/System.Xaml/XamlType.xml
index e7f680c9456..45f8ee94d93 100644
--- a/xml/System.Xaml/XamlType.xml
+++ b/xml/System.Xaml/XamlType.xml
@@ -119,7 +119,7 @@
, you must use the other constructor signatures (, , or ) to initialize a object.
+ This is a protected constructor. No current public derived classes exist that use this particular path for construction. As a consumer of the existing , you must use the other constructor signatures (, , or ) to initialize a object.
]]>
@@ -200,7 +200,7 @@
is `true`. Instead, the default reflector logic reports the underlying type as . However, this behavior can change because of the override.
+ Use this constructor only for "unknown" types where a XAML type that maps to an underlying type system is unavailable. This constructor might not produce a result where is `true`. Instead, the default reflector logic reports the underlying type as . However, this behavior can change because of the override.
]]>
@@ -238,7 +238,7 @@
## Remarks
Types that are assignable a specific content type (for example, assignable to a base type that is an allowed content type) are not considered multiple types for purposes of .
- If you do not use the default internal CLR reflection technique for a , calls to this property can invoke overrides on derived classes.
+ If you do not use the default internal CLR reflection technique for a , calls to this property can invoke overrides on derived classes.
]]>
@@ -273,10 +273,10 @@
, calls to this property can invoke overrides on derived classes. For more information about return values and other behavior, see the documentation for on this type. By default, returns an internal constant that represents an if is `null`.
+ If you do not use the default internal CLR reflection technique for a , calls to this property can invoke overrides on derived classes. For more information about return values and other behavior, see the documentation for on this type. By default, returns an internal constant that represents an if is `null`.
> [!IMPORTANT]
-> is virtual, and therefore, can be overridden. The override has the potential (whether for malicious purposes or otherwise) to change the reported type information about a XAML type so that it no longer aligns in an expected way with the type system information of its underlying CLR type. For any security-critical checks of assignment operations and access, use the underlying CLR type instead.
+> is virtual, and therefore, can be overridden. The override has the potential (whether for malicious purposes or otherwise) to change the reported type information about a XAML type so that it no longer aligns in an expected way with the type system information of its underlying CLR type. For any security-critical checks of assignment operations and access, use the underlying CLR type instead.
]]>
@@ -320,12 +320,12 @@
If one of the two instances that are used for comparison has equal to `true`, this method has a special Unknown mode that returns `true` if the two instances are equivalent.
- The default implementation uses the CLR from for this and the input , and calls . Override this method if you want a different determination of assignable types.
+ The default implementation uses the CLR from for this and the input , and calls . Override this method if you want a different determination of assignable types.
Passing a null `xamlType` does not throw an exception and always returns `false`.
> [!IMPORTANT]
-> is virtual, and therefore, can be overridden. The override has the potential (whether for malicious purposes or otherwise) to change the assignability of a XAML type so that it no longer aligns in an expected way with the type-casting behavior of its underlying CLR type. For any security-critical checks of assignment operations and access, use the underlying CLR type instead.
+> is virtual, and therefore, can be overridden. The override has the potential (whether for malicious purposes or otherwise) to change the assignability of a XAML type so that it no longer aligns in an expected way with the type-casting behavior of its underlying CLR type. For any security-critical checks of assignment operations and access, use the underlying CLR type instead.
]]>
@@ -367,7 +367,7 @@
, calls to this property can invoke overrides on derived classes. For more information about return values and other behavior, see the documentation for on this type.
+ If you do not use the default internal CLR reflection technique for a , calls to this property can invoke overrides on derived classes. For more information about return values and other behavior, see the documentation for on this type.
]]>
@@ -407,7 +407,7 @@
This property aligns to the `[content property]` information item in the [MS-XAML] specification.
- If you do not use the default internal CLR reflection technique for a , calls to this property can invoke overrides on derived classes. For more information about return values and other behavior, see the documentation for on this type.
+ If you do not use the default internal CLR reflection technique for a , calls to this property can invoke overrides on derived classes. For more information about return values and other behavior, see the documentation for on this type.
]]>
@@ -444,11 +444,11 @@
## Remarks
If there are no wrappers to account for type match loosening, this property is `null`.
- Types that evaluate as for a specific content type are not considered multiple types for purposes of .
+ Types that evaluate as for a specific content type are not considered multiple types for purposes of .
In the CLR binding for and , the XAML content wrapper type can be specified on a type as a .
- If you do not use the default internal CLR reflection technique for a , calls to this property can invoke overrides on derived classes. For more information about return values and other behavior, see the documentation for on this type.
+ If you do not use the default internal CLR reflection technique for a , calls to this property can invoke overrides on derived classes. For more information about return values and other behavior, see the documentation for on this type.
]]>
@@ -485,7 +485,7 @@
## Remarks
XAML template behavior in WPF is an example of deferred loading behavior.
- If you do not use the default internal CLR reflection technique for a , calls to this property can invoke overrides on derived classes. For more information about return values and other behavior, see the documentation for on this type.
+ If you do not use the default internal CLR reflection technique for a , calls to this property can invoke overrides on derived classes. For more information about return values and other behavior, see the documentation for on this type.
]]>
@@ -608,7 +608,7 @@
, calls to this method can invoke overrides on derived classes. For more information about return values and other behavior, see the documentation for on this type.
+ If you do not use the default internal CLR reflection technique for a , calls to this method can invoke overrides on derived classes. For more information about return values and other behavior, see the documentation for on this type.
]]>
@@ -646,7 +646,7 @@
## Remarks
Each in the returned collection should contain values that support the concept that the is an attachable member. For example, members should return `true` for , a type for , and so on.
- If you do not use the default internal CLR reflection technique for a , calls to this method can invoke overrides on derived classes. For more information about return values and other behavior, see the documentation for on this type.
+ If you do not use the default internal CLR reflection technique for a , calls to this method can invoke overrides on derived classes. For more information about return values and other behavior, see the documentation for on this type.
]]>
@@ -682,7 +682,7 @@
overrides on derived classes.
+ Calls to this method can invoke overrides on derived classes.
]]>
@@ -721,10 +721,10 @@
overrides on derived classes.
+ Calls to this method can invoke overrides on derived classes.
> [!IMPORTANT]
-> is virtual, and therefore, can be overridden. The override has the potential (whether for malicious purposes or otherwise) to change the reported members of a XAML type so that they no longer align in an expected way with the `Get*` information about the underlying CLR type. For any security-critical checks of member reporting, use the underlying CLR type instead.
+> is virtual, and therefore, can be overridden. The override has the potential (whether for malicious purposes or otherwise) to change the reported members of a XAML type so that they no longer align in an expected way with the `Get*` information about the underlying CLR type. For any security-critical checks of member reporting, use the underlying CLR type instead.
]]>
@@ -792,12 +792,12 @@
instead. Prefixed member names should not be used; a prefix is situational to a usage and the XAML type system cannot know the context of such a usage and how the prefix is mapped.
+ The value for `name` is expected to be unqualified. Type-qualified names that indicate an attached member should be submitted to instead. Prefixed member names should not be used; a prefix is situational to a usage and the XAML type system cannot know the context of such a usage and how the prefix is mapped.
- Calls to this method can invoke overrides on derived classes.
+ Calls to this method can invoke overrides on derived classes.
> [!IMPORTANT]
-> is virtual, and therefore, can be overridden. The override has the potential (whether for malicious purposes or otherwise) to change the reported members of a XAML type so that they no longer align in an expected way with the `Get*` information about the underlying CLR type. For any security-critical checks of member reporting, use the underlying CLR type instead.
+> is virtual, and therefore, can be overridden. The override has the potential (whether for malicious purposes or otherwise) to change the reported members of a XAML type so that they no longer align in an expected way with the `Get*` information about the underlying CLR type. For any security-critical checks of member reporting, use the underlying CLR type instead.
]]>
@@ -838,9 +838,9 @@
## Remarks
This API is only relevant if this represents a markup extension ( is `true`).
- The input `parameterCount` is not for requesting the type of a specific positional parameter. It is for specifying the arity of a markup extension usage. Markup extension usage often has multiple "signatures" and uses different parameter arity (count) of positional parameters to differentiate. However, you can configure a schema context to allow duplicate arities and use types of the positional parameters for differentiation. For more information, see . For a specific arity (count), the parameter positions and types can vary. To get the positional type of a specific arity's markup extension usage, you first call specifying the arity count. Then get the item at that position from the returned collection.
+ The input `parameterCount` is not for requesting the type of a specific positional parameter. It is for specifying the arity of a markup extension usage. Markup extension usage often has multiple "signatures" and uses different parameter arity (count) of positional parameters to differentiate. However, you can configure a schema context to allow duplicate arities and use types of the positional parameters for differentiation. For more information, see . For a specific arity (count), the parameter positions and types can vary. To get the positional type of a specific arity's markup extension usage, you first call specifying the arity count. Then get the item at that position from the returned collection.
- Calls to this method can invoke overrides on derived classes.
+ Calls to this method can invoke overrides on derived classes.
]]>
@@ -878,7 +878,7 @@
## Remarks
Typical XAML namespace identifiers are strings in URI form.
- The default implementation checks the following, in order: the XAML namespace that is supplied in construction ( signature only); and the namespaces that are available from the schema context. If these are each `null`, a new list is generated that contains a single empty string. You can override this method to change the lookup methodology.
+ The default implementation checks the following, in order: the XAML namespace that is supplied in construction ( signature only); and the namespaces that are available from the schema context. If these are each `null`, a new list is generated that contains a single empty string. You can override this method to change the lookup methodology.
]]>
@@ -913,9 +913,9 @@
, calling can invoke either or a specific override of that method. For more information about return values and other behavior, see the documentation for on this type.
+ If you do not use the default internal CLR reflection technique for a , calling can invoke either or a specific override of that method. For more information about return values and other behavior, see the documentation for on this type.
- If a override returns `null`, or if the default implementation returns `null` because of lack of for this , then returns .
+ If a override returns `null`, or if the default implementation returns `null` because of lack of for this , then returns .
]]>
@@ -957,7 +957,7 @@
, calls to this property can invoke overrides on derived classes. For more information about return values and other behavior, see the documentation for on this type.
+ If you do not use the default internal CLR reflection technique for a , calls to this property can invoke overrides on derived classes. For more information about return values and other behavior, see the documentation for on this type.
]]>
@@ -993,7 +993,7 @@
, calls to this property can invoke overrides on derived classes. For more information about return values and other behavior, see the documentation for on this type.
+ If you do not use the default internal CLR reflection technique for a , calls to this property can invoke overrides on derived classes. For more information about return values and other behavior, see the documentation for on this type.
]]>
@@ -1029,7 +1029,7 @@
, calls to this property can invoke overrides on derived classes. For more information about return values and other behavior, see the documentation for on this type.
+ If you do not use the default internal CLR reflection technique for a , calls to this property can invoke overrides on derived classes. For more information about return values and other behavior, see the documentation for on this type.
]]>
@@ -1073,7 +1073,7 @@
## Remarks
This property aligns to the `[is default constructible]` information item in the [MS-XAML] specification.
- If you do not use the default internal CLR reflection technique for a , calls to this property can invoke overrides on derived classes. For more information about return values and other behavior, see the documentation for on this type.
+ If you do not use the default internal CLR reflection technique for a , calls to this property can invoke overrides on derived classes. For more information about return values and other behavior, see the documentation for on this type.
]]>
@@ -1112,7 +1112,7 @@
## Remarks
This property aligns to the `[is dictionary]` information item in the [MS-XAML] specification.
- If you do not use the default internal CLR reflection technique for a , calls to this property can invoke overrides on derived classes. For more information about return values and other behavior, see the documentation for on this type.
+ If you do not use the default internal CLR reflection technique for a , calls to this property can invoke overrides on derived classes. For more information about return values and other behavior, see the documentation for on this type.
]]>
@@ -1192,7 +1192,7 @@
## Remarks
In XAML specification terms, this type must be assignable to `x:MarkupExtension` in order to return `true` for .
- If you do not use the default internal CLR reflection technique for a , calls to this property can invoke overrides on derived classes. For more information about return values and other behavior, see the documentation for on this type.
+ If you do not use the default internal CLR reflection technique for a , calls to this property can invoke overrides on derived classes. For more information about return values and other behavior, see the documentation for on this type.
]]>
@@ -1238,7 +1238,7 @@
This property aligns to the `[is name scope]` information item in the [MS-XAML] specification.
- If you do not use the default internal CLR reflection technique for a , calls to this property can invoke overrides on derived classes.
+ If you do not use the default internal CLR reflection technique for a , calls to this property can invoke overrides on derived classes.
]]>
@@ -1311,7 +1311,7 @@
## Remarks
This property aligns to the `[is nullable]` information item in the [MS-XAML] specification.
- If you are not using the default internal CLR reflection technique for a , calls to this property can invoke overrides on derived classes.
+ If you are not using the default internal CLR reflection technique for a , calls to this property can invoke overrides on derived classes.
]]>
@@ -1353,10 +1353,10 @@
, calls to this property can invoke overrides on derived classes.
+ If you do not use the default internal CLR reflection technique for a , calls to this property can invoke overrides on derived classes.
> [!IMPORTANT]
-> is virtual, and therefore, can be overridden. The override has the potential (whether for malicious purposes or otherwise) to change the reported access information about a XAML type so that it no longer aligns in an expected way with the type system and access information of its underlying CLR type. For any security-critical checks of assignment operations and access, use the underlying CLR type instead.
+> is virtual, and therefore, can be overridden. The override has the potential (whether for malicious purposes or otherwise) to change the reported access information about a XAML type so that it no longer aligns in an expected way with the type system and access information of its underlying CLR type. For any security-critical checks of assignment operations and access, use the underlying CLR type instead.
]]>
@@ -1392,9 +1392,9 @@
, calls to this property can invoke overrides on derived classes.
+ If you do not use the default internal CLR reflection technique for a , calls to this property can invoke overrides on derived classes.
- For a load path that involves , a that has `true` for cannot be written into an object graph. Under the default implementations in , the call throws a when the relevant reports `true` for . You should not pass a that has as `true` unless you are prepared to handle the exceptions from , or you have other ways to adjust the behavior or the XAML node stream prior to writing the object graph.
+ For a load path that involves , a that has `true` for cannot be written into an object graph. Under the default implementations in , the call throws a when the relevant reports `true` for . You should not pass a that has as `true` unless you are prepared to handle the exceptions from , or you have other ways to adjust the behavior or the XAML node stream prior to writing the object graph.
]]>
@@ -1438,7 +1438,7 @@
## Remarks
Top-down is a metaphor that approximates XAML processor behavior when creating the object graph. When built top-down, a type is instantiated, attached to the parent, and then has its properties set. Top-down construction avoids invoking property-changed handlers multiple times. Such handling ripples up the object graph and therefore, eliminates the multiple handler calls and provides a performance optimization for startup of the object graph.
- If you do not use the default internal CLR reflection technique for a , calls to this property can invoke overrides on derived classes. For more information about return values and other behavior, see the documentation for on this type.
+ If you do not use the default internal CLR reflection technique for a , calls to this property can invoke overrides on derived classes. For more information about return values and other behavior, see the documentation for on this type.
]]>
@@ -1482,7 +1482,7 @@
, calls to this property can invoke overrides on derived classes. For more information about return values and other behavior, see the documentation for on this type.
+ If you do not use the default internal CLR reflection technique for a , calls to this property can invoke overrides on derived classes. For more information about return values and other behavior, see the documentation for on this type.
]]>
@@ -1526,7 +1526,7 @@
## Remarks
This property aligns to the `[is xdata]` information item in the [MS-XAML] specification.
- If you do not use the default internal CLR reflection technique for a , calls to this property can invoke overrides on derived classes. For more information about return values and other behavior, see the documentation for on this type.
+ If you do not use the default internal CLR reflection technique for a , calls to this property can invoke overrides on derived classes. For more information about return values and other behavior, see the documentation for on this type.
]]>
@@ -1563,7 +1563,7 @@
## Remarks
This property is only relevant if this represents a collection ( is `true`). The `Items` property is whatever property holds items in that type of collection or array.
- If you do not use the default internal CLR reflection technique for a , calls to this property can invoke overrides on derived classes. For more information about return values and other behavior, see the documentation for on this type.
+ If you do not use the default internal CLR reflection technique for a , calls to this property can invoke overrides on derived classes. For more information about return values and other behavior, see the documentation for on this type.
]]>
@@ -1600,7 +1600,7 @@
## Remarks
This property is only relevant if this represents a dictionary ( is `true`).
- If you do not use the default internal CLR reflection technique for a , calls to this property can invoke overrides on derived classes. For more information about return values and other behavior, see the documentation for on this type.
+ If you do not use the default internal CLR reflection technique for a , calls to this property can invoke overrides on derived classes. For more information about return values and other behavior, see the documentation for on this type.
]]>
@@ -1639,7 +1639,7 @@
.
+ This method can be invoked when a caller gets a value from .
The default implementation can return results for the following XAML directives: `Key`; `Name`; `Uid`; and `xml:lang`. Values for these depend on underlying reflection and might still return `null` if no aliased property is found.
@@ -1681,13 +1681,13 @@
.
+ This method can be invoked when a caller gets a value from .
- Although returns a generic collection, this `Lookup` method returns a generic enumerable set.
+ Although returns a generic collection, this `Lookup` method returns a generic enumerable set.
- The default implementation uses the internal CLR reflection. When is `null`, the default implementation can use , if it is available. This behavior calls recursively to attempt to find a valid base type and returns `null` if no valid base type exists.
+ The default implementation uses the internal CLR reflection. When is `null`, the default implementation can use , if it is available. This behavior calls recursively to attempt to find a valid base type and returns `null` if no valid base type exists.
- Override this method if you are not relying on default internal CLR reflection and are using metadata or other techniques for reporting the XAML type system information or schema information of a type. A null return should be reserved for cases where information cannot be determined because of lack of type system or reflection support. If a type is valid and reflection or other techniques are available, but a type does not have attachable members, you should instead return an empty set.
+ Override this method if you are not relying on default internal CLR reflection and are using metadata or other techniques for reporting the XAML type system information or schema information of a type. A null return should be reserved for cases where information cannot be determined because of lack of type system or reflection support. If a type is valid and reflection or other techniques are available, but a type does not have attachable members, you should instead return an empty set.
]]>
@@ -1723,15 +1723,15 @@
.
+ This method can be invoked when a caller gets a value from .
- Although returns a generic collection, this `Lookup` method returns a generic enumerable set.
+ Although returns a generic collection, this `Lookup` method returns a generic enumerable set.
- The default implementation uses the internal CLR reflection. For cases where is `null`, the default implementation can use , if it is available. This behavior calls recursively to attempt to find a valid base type, and returns `null` if no valid base type exists.
+ The default implementation uses the internal CLR reflection. For cases where is `null`, the default implementation can use , if it is available. This behavior calls recursively to attempt to find a valid base type, and returns `null` if no valid base type exists.
- Override this method if you are not relying on default internal CLR reflection and are using metadata or other techniques for reporting the XAML type system information or schema information of a type. A null return should be reserved for cases where information cannot be determined because of lack of type system or reflection support. If a type is valid, reflection or other techniques are available; if a type does not have members, you should instead return an empty set.
+ Override this method if you are not relying on default internal CLR reflection and are using metadata or other techniques for reporting the XAML type system information or schema information of a type. A null return should be reserved for cases where information cannot be determined because of lack of type system or reflection support. If a type is valid, reflection or other techniques are available; if a type does not have members, you should instead return an empty set.
- Return values for and should be mutually exclusive. If you have a situation where a backing type system property can support a standard instance usage as well as an attachable usage, that member should be reported as two different values, with one value appearing in the attachable list and another in the standard members list.
+ Return values for and should be mutually exclusive. If you have a situation where a backing type system property can support a standard instance usage as well as an attachable usage, that member should be reported as two different values, with one value appearing in the attachable list and another in the standard members list.
]]>
@@ -1769,7 +1769,7 @@
## Remarks
This method can be invoked when a caller gets a value from .
- Types that evaluate as for a specific content type are not considered multiple types for purposes of .
+ Types that evaluate as for a specific content type are not considered multiple types for purposes of .
The default implementation can use other properties of (, , or ) to obtain a result. The `Lookup` overrides for the preceding property list can also be invoked in this determination.
@@ -1812,14 +1812,14 @@
.
+ This method can be invoked when a caller gets a value from .
- The default implementation uses the internal CLR reflection. When is `null`, the default implementation can use , if it is available. This behavior calls recursively to attempt to find a valid base type and returns `null` if no valid base type exists.
+ The default implementation uses the internal CLR reflection. When is `null`, the default implementation can use , if it is available. This behavior calls recursively to attempt to find a valid base type and returns `null` if no valid base type exists.
Override this method if you are not relying on default internal CLR reflection and are using metadata or other techniques for reporting the XAML type system information or schema information of a type.
> [!IMPORTANT]
-> is virtual, and therefore, can be overridden. The override has the potential (whether for malicious purposes or otherwise) to change the reported members of a XAML type so that they no longer align in an expected way with the `Get*` information about the underlying CLR type. For any security-critical checks of member reporting, use the underlying CLR type instead.
+> is virtual, and therefore, can be overridden. The override has the potential (whether for malicious purposes or otherwise) to change the reported members of a XAML type so that they no longer align in an expected way with the `Get*` information about the underlying CLR type. For any security-critical checks of member reporting, use the underlying CLR type instead.
]]>
@@ -1862,7 +1862,7 @@
Override this method if you are not relying on default internal CLR reflection and are using metadata or other techniques for reporting the XAML type system information or schema information of a type.
> [!IMPORTANT]
-> is virtual, and therefore, can be overridden. The override has the potential (whether for malicious purposes or otherwise) to change the reported type information about a XAML type so that it no longer aligns in an expected way with the type system information of its underlying CLR type. For any security-critical checks of assignment operations and access, use the underlying CLR type instead.
+> is virtual, and therefore, can be overridden. The override has the potential (whether for malicious purposes or otherwise) to change the reported type information about a XAML type so that it no longer aligns in an expected way with the type system information of its underlying CLR type. For any security-critical checks of assignment operations and access, use the underlying CLR type instead.
]]>
@@ -1900,7 +1900,7 @@
## Remarks
This method is invoked by an internal private method (no public `CollectionKind` or `GetCollectionKind` API exists on ).
- The default implementation uses the internal CLR reflection. For cases where is `null`, the default implementation can use , if it is available. This behavior indirectly calls recursively to attempt to find a valid base type; it returns if no valid base type exists. In general, the default implementation attempts to find the `Add` method of the underlying type by reflection. If found, the of the `Add` method is enough information to determine which value should be returned. Otherwise, it returns .
+ The default implementation uses the internal CLR reflection. For cases where is `null`, the default implementation can use , if it is available. This behavior indirectly calls recursively to attempt to find a valid base type; it returns if no valid base type exists. In general, the default implementation attempts to find the `Add` method of the underlying type by reflection. If found, the of the `Add` method is enough information to determine which value should be returned. Otherwise, it returns .
Override this method if you are not relying on default internal CLR reflection and are using metadata or other techniques for reporting the XAML type system information or schema information of a type.
@@ -2304,7 +2304,7 @@
## Remarks
This method can be invoked by calls to .
- The default implementation makes a call indirectly against the type . is an interface that is defined in the assembly WindowsBase.dll. This technique for XAML namescope identification is used both by WPF and Windows Workflow Foundation implementations of XAML.
+ The default implementation makes a call indirectly against the type . is an interface that is defined in the assembly WindowsBase.dll. This technique for XAML namescope identification is used both by WPF and Windows Workflow Foundation implementations of XAML.
Override this method if you want to use different logic.
@@ -2394,7 +2394,7 @@
Override this method if you want to use different logic.
> [!IMPORTANT]
-> is virtual, and therefore, can be overridden. The override has the potential (whether for malicious purposes or otherwise) to change the reported access information about a XAML type so that it no longer aligns in an expected way with the type system or access information of its underlying CLR type. For any security-critical checks of assignment operations and access, use the underlying CLR type instead.
+> is virtual, and therefore, can be overridden. The override has the potential (whether for malicious purposes or otherwise) to change the reported access information about a XAML type so that it no longer aligns in an expected way with the type system or access information of its underlying CLR type. For any security-critical checks of assignment operations and access, use the underlying CLR type instead.
]]>
@@ -2515,7 +2515,7 @@
## Remarks
This method can be invoked by calls to .
- The default implementation makes a call indirectly against the type .
+ The default implementation makes a call indirectly against the type .
Override this method if you want to use different logic.
@@ -2557,7 +2557,7 @@
The default implementation can use CLR reflection concepts, such as checking for an `Add` method by and using the ; checking ; and checking and trying the same logic there.
- Override this method if you want to use different logic. Cases where returns should return `null`.
+ Override this method if you want to use different logic. Cases where returns should return `null`.
]]>
@@ -2597,7 +2597,7 @@
The default implementation can use CLR reflection concepts, such as checking for an `Add` method by and using the ; and checking and trying the same logic there.
- Override this method if you want to use different logic. Cases where does not return should return `null`.
+ Override this method if you want to use different logic. Cases where does not return should return `null`.
]]>
@@ -2679,14 +2679,14 @@
.
+ This method can be invoked by calls to .
The default implementation returns a based on internal CLR reflection and evaluation against the schema context.
- Override this method if you want to use different logic.
+ Override this method if you want to use different logic.
> [!IMPORTANT]
-> is virtual, and therefore, can be overridden. The override has the potential (whether for malicious purposes or otherwise) to change the reported members of a XAML type so that they no longer align in an expected way with the `Get*` information about the underlying CLR type. For any security-critical checks of member reporting, use the underlying CLR type instead.
+> is virtual, and therefore, can be overridden. The override has the potential (whether for malicious purposes or otherwise) to change the reported members of a XAML type so that they no longer align in an expected way with the `Get*` information about the underlying CLR type. For any security-critical checks of member reporting, use the underlying CLR type instead.
]]>
@@ -2725,13 +2725,13 @@
.
+ This method can be invoked by calls to .
- The default implementation uses internal reflection information based on finding constructors and checking the arity. Override this method if you want to use different logic.
+ The default implementation uses internal reflection information based on finding constructors and checking the arity. Override this method if you want to use different logic.
This API is only relevant if this represents a markup extension ( is `true`).
- The input `parameterCount` is not for requesting the type of a specific positional parameter. It is for specifying the arity of a markup extension usage. Markup extension usage often has multiple signatures and uses different parameter arity (count) of positional parameters to differentiate. However, you can configure a schema context to allow duplicate arities and use types of the positional parameters for differentiation. For more information, see . For a specific arity count, the parameter positions and types can vary. To get the positional type of a specific arity's markup extension usage, you first call with the arity count. Then get the item at that position from the returned collection.
+ The input `parameterCount` is not for requesting the type of a specific positional parameter. It is for specifying the arity of a markup extension usage. Markup extension usage often has multiple signatures and uses different parameter arity (count) of positional parameters to differentiate. However, you can configure a schema context to allow duplicate arities and use types of the positional parameters for differentiation. For more information, see . For a specific arity count, the parameter positions and types can vary. To get the positional type of a specific arity's markup extension usage, you first call with the arity count. Then get the item at that position from the returned collection.
]]>
@@ -3042,7 +3042,7 @@
## Remarks
This property is only relevant if this represents a markup extension (`x:MarkupExtension` is in the assignable types list).
- If you do not use the default internal CLR reflection technique for a , calls to this property can invoke overrides on derived classes. For more information about return values and other behavior, see the documentation for on this type.
+ If you do not use the default internal CLR reflection technique for a , calls to this property can invoke overrides on derived classes. For more information about return values and other behavior, see the documentation for on this type.
]]>
@@ -3083,7 +3083,7 @@
signature), or the name of the , if it is constructed by using the pertinent constructor of the CLR type system.
+ This property typically gets the schema-constructed name (per the signature), or the name of the , if it is constructed by using the pertinent constructor of the CLR type system.
]]>
@@ -3188,7 +3188,7 @@
and then getting the first value string from the returned enumerable set.
+ This implementation provides the same value as calling and then getting the first value string from the returned enumerable set.
]]>
@@ -3265,7 +3265,7 @@
implementation of returns the property of the .
+ The implementation of returns the property of the .
]]>
@@ -3307,7 +3307,7 @@
, calls to this property can invoke overrides on derived classes. For more information about return values and other behavior, see the documentation for on this type.
+ If you do not use the default internal CLR reflection technique for a , calls to this property can invoke overrides on derived classes. For more information about return values and other behavior, see the documentation for on this type.
]]>
@@ -3348,7 +3348,7 @@
where calling the parameter returns a list where the types are still open. In this case, one or more of the returned values will have placeholder values for , such as `T`, to represent that the generic is still open. This scenario can occur if you get a from a call to , instead of from a XAML reader implementation.
+ There are certain scenarios for a where calling the parameter returns a list where the types are still open. In this case, one or more of the returned values will have placeholder values for