System.Xml.DataSetMapper.GetTableSchemaForElement C# (CSharp) Méthode

GetTableSchemaForElement() private méthode

private GetTableSchemaForElement ( XmlBoundElement be ) : DataTable
be XmlBoundElement
Résultat System.Data.DataTable
        internal DataTable GetTableSchemaForElement(XmlBoundElement be) => be.Row?.Table;

Same methods

DataSetMapper::GetTableSchemaForElement ( XmlElement elem ) : DataTable

Usage Example

        internal bool NextInitialTextLikeNodes(out string value)
        {
            Debug.Assert(CurrentNode != null);
            Debug.Assert(CurrentNode.NodeType == XmlNodeType.Element);
#if DEBUG
            // It's not OK to try to read the initial text value for sub-regions, because we do not know how to revert their initial state
            if (CurrentNode.NodeType == XmlNodeType.Element && DataSetMapper.GetTableSchemaForElement((XmlElement)(CurrentNode)) != null)
            {
                if (CurrentNode != _rowElement)
                {
                    Debug.Fail("Reading the initial text value for sub-regions.");
                }
            }
#endif

            ElementState oldState = _rowElement.ElementState;

            // We do not want to cause any foliation w/ this iterator or use this iterator once the region was defoliated
            Debug.Assert(oldState != ElementState.None);

            XmlNode?n = CurrentNode.FirstChild;
            value = GetInitialTextFromNodes(ref n);
            if (n == null)
            {
                // If we have been defoliated, we should have stayed that way
                Debug.Assert((oldState == ElementState.Defoliated) ? (_rowElement.ElementState == ElementState.Defoliated) : true);

                // Rollback eventual foliation
                _rowElement.ElementState = oldState;
                return(NextRight());
            }
            Debug.Assert(!XmlDataDocument.IsTextLikeNode(n));
            _currentNode = n;

            // If we have been defoliated, we should have stayed that way
            Debug.Assert((oldState == ElementState.Defoliated) ? (_rowElement.ElementState == ElementState.Defoliated) : true);

            // Rollback eventual foliation
            _rowElement.ElementState = oldState;
            return(true);
        }