Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Speech / Src / Internal / GrammarBuilding / SemanticKeyElement.cs / 1 / SemanticKeyElement.cs
//------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------- using System.Collections.Generic; using System.Speech.Recognition; using System.Speech.Internal.SrgsParser; using System.Text; namespace System.Speech.Internal.GrammarBuilding { ////// /// internal sealed class SemanticKeyElement : BuilderElements { //******************************************************************* // // Constructors // //******************************************************************* #region Constructors ////// /// /// internal SemanticKeyElement (string semanticKey) { _semanticKey = semanticKey; RuleElement rule = new RuleElement (semanticKey); _ruleRef = new RuleRefElement (rule, _semanticKey); Items.Add (rule); Items.Add (_ruleRef); } #endregion //******************************************************************** // // Public Methods // //******************************************************************* #region Public Methods /// TODOC <_include file='doc\SpeechAudioFormatInfo.uex' path='docs/doc[@for="SpeechAudioFormatInfo.Equals"]/*' /> public override bool Equals (object obj) { SemanticKeyElement refObj = obj as SemanticKeyElement; if (refObj == null) { return false; } if (!base.Equals (obj)) { return false; } // No need to check for the equality on _ruleRef. The children are in the Items, not the underlying rule return _semanticKey == refObj._semanticKey; } /// TODOC <_include file='doc\SpeechAudioFormatInfo.uex' path='docs/doc[@for="SpeechAudioFormatInfo.GetHashCode"]/*' /> public override int GetHashCode () { return base.GetHashCode (); } #endregion //******************************************************************** // // Internal Methods // //******************************************************************** #region Internal Methods ////// /// /// new internal void Add (string phrase) { _ruleRef.Add (new GrammarBuilderPhrase (phrase)); } ////// /// /// new internal void Add (GrammarBuilder builder) { foreach (GrammarBuilderBase item in builder.InternalBuilder.Items) { _ruleRef.Add (item); } } ////// /// ///internal override GrammarBuilderBase Clone () { SemanticKeyElement semanticKeyElement = new SemanticKeyElement (_semanticKey); semanticKeyElement._ruleRef.CloneItems (_ruleRef); return semanticKeyElement; } /// /// /// /// /// /// /// ///internal override IElement CreateElement (IElementFactory elementFactory, IElement parent, IRule rule, IdentifierCollection ruleIds) { // Create the rule associated with this key _ruleRef.Rule.CreateElement (elementFactory, parent, rule, ruleIds); // Create the ruleRef IElement ruleRef = _ruleRef.CreateElement (elementFactory, parent, rule, ruleIds); return ruleRef; } #endregion //******************************************************************* // // Internal Properties // //******************************************************************** #region Internal Properties override internal string DebugSummary { get { return _ruleRef.Rule.DebugSummary; } } #endregion //******************************************************************* // // Private Fields // //******************************************************************* #region Private Fields /// /// /// private readonly string _semanticKey; private readonly RuleRefElement _ruleRef; #endregion } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------- using System.Collections.Generic; using System.Speech.Recognition; using System.Speech.Internal.SrgsParser; using System.Text; namespace System.Speech.Internal.GrammarBuilding { ////// /// internal sealed class SemanticKeyElement : BuilderElements { //******************************************************************* // // Constructors // //******************************************************************* #region Constructors ////// /// /// internal SemanticKeyElement (string semanticKey) { _semanticKey = semanticKey; RuleElement rule = new RuleElement (semanticKey); _ruleRef = new RuleRefElement (rule, _semanticKey); Items.Add (rule); Items.Add (_ruleRef); } #endregion //******************************************************************** // // Public Methods // //******************************************************************* #region Public Methods /// TODOC <_include file='doc\SpeechAudioFormatInfo.uex' path='docs/doc[@for="SpeechAudioFormatInfo.Equals"]/*' /> public override bool Equals (object obj) { SemanticKeyElement refObj = obj as SemanticKeyElement; if (refObj == null) { return false; } if (!base.Equals (obj)) { return false; } // No need to check for the equality on _ruleRef. The children are in the Items, not the underlying rule return _semanticKey == refObj._semanticKey; } /// TODOC <_include file='doc\SpeechAudioFormatInfo.uex' path='docs/doc[@for="SpeechAudioFormatInfo.GetHashCode"]/*' /> public override int GetHashCode () { return base.GetHashCode (); } #endregion //******************************************************************** // // Internal Methods // //******************************************************************** #region Internal Methods ////// /// /// new internal void Add (string phrase) { _ruleRef.Add (new GrammarBuilderPhrase (phrase)); } ////// /// /// new internal void Add (GrammarBuilder builder) { foreach (GrammarBuilderBase item in builder.InternalBuilder.Items) { _ruleRef.Add (item); } } ////// /// ///internal override GrammarBuilderBase Clone () { SemanticKeyElement semanticKeyElement = new SemanticKeyElement (_semanticKey); semanticKeyElement._ruleRef.CloneItems (_ruleRef); return semanticKeyElement; } /// /// /// /// /// /// /// ///internal override IElement CreateElement (IElementFactory elementFactory, IElement parent, IRule rule, IdentifierCollection ruleIds) { // Create the rule associated with this key _ruleRef.Rule.CreateElement (elementFactory, parent, rule, ruleIds); // Create the ruleRef IElement ruleRef = _ruleRef.CreateElement (elementFactory, parent, rule, ruleIds); return ruleRef; } #endregion //******************************************************************* // // Internal Properties // //******************************************************************** #region Internal Properties override internal string DebugSummary { get { return _ruleRef.Rule.DebugSummary; } } #endregion //******************************************************************* // // Private Fields // //******************************************************************* #region Private Fields /// /// /// private readonly string _semanticKey; private readonly RuleRefElement _ruleRef; #endregion } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ArgumentNullException.cs
- VisualStyleElement.cs
- SamlAuthenticationStatement.cs
- XamlStyleSerializer.cs
- AddressHeaderCollectionElement.cs
- SoapMessage.cs
- TcpStreams.cs
- EntityDataSourceUtil.cs
- EntitySet.cs
- ExchangeUtilities.cs
- FormViewUpdatedEventArgs.cs
- ClassHandlersStore.cs
- SwitchAttribute.cs
- EventMemberCodeDomSerializer.cs
- ZipIOExtraFieldZip64Element.cs
- columnmapfactory.cs
- MenuItem.cs
- EntityTemplateFactory.cs
- ClientTarget.cs
- SQLDateTime.cs
- KeyValuePairs.cs
- ReflectionTypeLoadException.cs
- ProfileSettings.cs
- FixUp.cs
- MetadataFile.cs
- WindowsMenu.cs
- DataTemplate.cs
- SqlDependencyUtils.cs
- ExeConfigurationFileMap.cs
- MetadataItemCollectionFactory.cs
- ContentPlaceHolder.cs
- CngAlgorithmGroup.cs
- Merger.cs
- HwndSourceParameters.cs
- SqlLiftWhereClauses.cs
- RegistryPermission.cs
- ContractMapping.cs
- activationcontext.cs
- AutomationPropertyInfo.cs
- GZipDecoder.cs
- DataListItem.cs
- WebPartDisplayModeCancelEventArgs.cs
- XamlVector3DCollectionSerializer.cs
- SecurityPermission.cs
- PrincipalPermission.cs
- Convert.cs
- DataGridViewHeaderCell.cs
- ExceptionTrace.cs
- ColumnMapTranslator.cs
- TraceListener.cs
- EditingCommands.cs
- SchemaImporterExtension.cs
- RuntimeHelpers.cs
- EventNotify.cs
- PasswordBox.cs
- ContextMenuAutomationPeer.cs
- ColorAnimation.cs
- RuntimeWrappedException.cs
- ClientSession.cs
- DataBoundLiteralControl.cs
- RC2.cs
- ColumnWidthChangingEvent.cs
- DynamicILGenerator.cs
- ObjectDataSourceStatusEventArgs.cs
- ObjectListCommand.cs
- DescriptionAttribute.cs
- MSAANativeProvider.cs
- MessageDecoder.cs
- InputLangChangeRequestEvent.cs
- IntegerValidatorAttribute.cs
- Menu.cs
- ResponseBodyWriter.cs
- EdgeProfileValidation.cs
- GroupBoxRenderer.cs
- PersonalizableAttribute.cs
- PenCursorManager.cs
- ApplicationDirectory.cs
- ConfigErrorGlyph.cs
- SqlHelper.cs
- SimpleType.cs
- wgx_exports.cs
- TemplateField.cs
- SafeFileHandle.cs
- CollectionViewGroupInternal.cs
- DocComment.cs
- NamedElement.cs
- ErrorWebPart.cs
- SqlErrorCollection.cs
- OracleNumber.cs
- BitConverter.cs
- PartialClassGenerationTaskInternal.cs
- SqlPersonalizationProvider.cs
- UpdatePanelControlTrigger.cs
- ImageList.cs
- HandlerFactoryCache.cs
- CustomTypeDescriptor.cs
- FormViewDeletedEventArgs.cs
- AutomationIdentifierGuids.cs
- SqlGatherProducedAliases.cs
- Attributes.cs