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
- BaseComponentEditor.cs
- HandlerBase.cs
- PolicyStatement.cs
- DataContext.cs
- RuleSettingsCollection.cs
- PathFigureCollection.cs
- Console.cs
- HtmlButton.cs
- RsaSecurityTokenParameters.cs
- StringArrayEditor.cs
- TimelineGroup.cs
- StreamWriter.cs
- ClientTarget.cs
- DynamicUpdateCommand.cs
- ObjectListCommandCollection.cs
- InitializerFacet.cs
- XmlTextReaderImplHelpers.cs
- TableAdapterManagerGenerator.cs
- OneWayElement.cs
- ButtonField.cs
- SetIterators.cs
- WebReferenceCollection.cs
- Soap11ServerProtocol.cs
- UpDownBase.cs
- DelegateArgument.cs
- AutomationPatternInfo.cs
- Color.cs
- QueryAccessibilityHelpEvent.cs
- ListInitExpression.cs
- TdsParser.cs
- WebPartAuthorizationEventArgs.cs
- SQLSingle.cs
- FileDialog.cs
- CharUnicodeInfo.cs
- DetailsViewDeleteEventArgs.cs
- ForeignKeyFactory.cs
- TreeViewItemAutomationPeer.cs
- XPathDocumentIterator.cs
- DisableDpiAwarenessAttribute.cs
- DocumentGridPage.cs
- PrintPreviewGraphics.cs
- FixUpCollection.cs
- ClientScriptManager.cs
- UidManager.cs
- XmlAttributes.cs
- TimeZone.cs
- hwndwrapper.cs
- SQLDecimal.cs
- Token.cs
- XsltQilFactory.cs
- HostingPreferredMapPath.cs
- Pens.cs
- WebPartsSection.cs
- ProcessInfo.cs
- DbException.cs
- DbProviderConfigurationHandler.cs
- WebScriptClientGenerator.cs
- SqlInternalConnection.cs
- CapiSafeHandles.cs
- LocalizationParserHooks.cs
- DataGridItemCollection.cs
- SqlFacetAttribute.cs
- DependencyObjectPropertyDescriptor.cs
- MemberInfoSerializationHolder.cs
- HtmlAnchor.cs
- AssemblyCollection.cs
- PropertyState.cs
- SafeHandles.cs
- TextShapeableCharacters.cs
- FramingDecoders.cs
- RenderDataDrawingContext.cs
- PointAnimationBase.cs
- BitmapData.cs
- mediaeventargs.cs
- ScrollContentPresenter.cs
- Utilities.cs
- ReaderWriterLockWrapper.cs
- BindingSource.cs
- UrlParameterReader.cs
- SQLGuid.cs
- TextParagraphView.cs
- MenuItem.cs
- Decimal.cs
- MergeLocalizationDirectives.cs
- Axis.cs
- NotImplementedException.cs
- SelectingProviderEventArgs.cs
- QilBinary.cs
- CacheAxisQuery.cs
- SmtpClient.cs
- TypeSemantics.cs
- GetWinFXPath.cs
- Utility.cs
- SafeEventHandle.cs
- StringTraceRecord.cs
- BuildProvidersCompiler.cs
- DataListItemEventArgs.cs
- NavigatorInput.cs
- CollectionContainer.cs
- TypedRowGenerator.cs