Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / 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
- XmlSerializerFactory.cs
- _NestedSingleAsyncResult.cs
- ColorTransformHelper.cs
- Filter.cs
- ButtonBaseAdapter.cs
- TreeBuilderBamlTranslator.cs
- ProxyWebPartConnectionCollection.cs
- StylusPointPropertyId.cs
- InvalidMessageContractException.cs
- Stroke2.cs
- ComponentManagerBroker.cs
- Int64Converter.cs
- UriExt.cs
- ObjectFullSpanRewriter.cs
- StoreAnnotationsMap.cs
- NumberFormatInfo.cs
- XmlDownloadManager.cs
- ManipulationVelocities.cs
- SubMenuStyle.cs
- RuleSetReference.cs
- RewritingPass.cs
- WpfMemberInvoker.cs
- SessionEndedEventArgs.cs
- SocketPermission.cs
- XmlEncoding.cs
- SignatureResourcePool.cs
- ResourcesChangeInfo.cs
- WebConvert.cs
- PagerSettings.cs
- DeferredReference.cs
- Delegate.cs
- BuildProvider.cs
- BaseUriHelper.cs
- CombinedGeometry.cs
- MenuEventArgs.cs
- DataGridViewCellFormattingEventArgs.cs
- NodeInfo.cs
- ManifestSignatureInformation.cs
- SqlUtils.cs
- RuntimeEnvironment.cs
- Vector3DAnimationUsingKeyFrames.cs
- VisualCollection.cs
- BinaryFormatter.cs
- PageSettings.cs
- FormViewPagerRow.cs
- ColorTransformHelper.cs
- SHA1Cng.cs
- HttpAsyncResult.cs
- HierarchicalDataTemplate.cs
- HttpInputStream.cs
- cookieexception.cs
- MetadataHelper.cs
- TypeInitializationException.cs
- TrackBar.cs
- VersionConverter.cs
- VerificationException.cs
- ManifestResourceInfo.cs
- MiniAssembly.cs
- AccessDataSourceView.cs
- FixedDSBuilder.cs
- Columns.cs
- FacetDescriptionElement.cs
- DataChangedEventManager.cs
- ProtocolsSection.cs
- HashCodeCombiner.cs
- XmlQueryStaticData.cs
- streamingZipPartStream.cs
- RuntimeUtils.cs
- Int64AnimationBase.cs
- DataObject.cs
- DiscoveryDocument.cs
- AutomationPatternInfo.cs
- TextEditorDragDrop.cs
- ResourcePermissionBase.cs
- Expr.cs
- AdRotator.cs
- GridEntry.cs
- OperatorExpressions.cs
- DesignerOptionService.cs
- SecurityUtils.cs
- ValueOfAction.cs
- DataTableTypeConverter.cs
- ActivityInstanceReference.cs
- DrawingImage.cs
- CornerRadius.cs
- InkCanvasInnerCanvas.cs
- Section.cs
- MobileControlPersister.cs
- DataBindingExpressionBuilder.cs
- ActiveXHost.cs
- SafeNativeMethods.cs
- ReflectionPermission.cs
- WrapperEqualityComparer.cs
- diagnosticsswitches.cs
- sqlnorm.cs
- FreezableCollection.cs
- AutomationElementCollection.cs
- SizeAnimationBase.cs
- baseaxisquery.cs
- TreeViewEvent.cs