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
- Literal.cs
- BaseComponentEditor.cs
- InternalControlCollection.cs
- FontUnit.cs
- PersistChildrenAttribute.cs
- StylusPlugInCollection.cs
- _Connection.cs
- Assert.cs
- ServiceModelDictionary.cs
- HtmlLiteralTextAdapter.cs
- Slider.cs
- StrongNameMembershipCondition.cs
- ParameterEditorUserControl.cs
- HtmlPageAdapter.cs
- FontConverter.cs
- ManipulationStartingEventArgs.cs
- GridItemCollection.cs
- MappingSource.cs
- CachedFontFace.cs
- SQLDateTimeStorage.cs
- FixedSOMPage.cs
- WindowsUpDown.cs
- UpdateCommand.cs
- ResourceExpression.cs
- ZipIOFileItemStream.cs
- ImageConverter.cs
- BuildResult.cs
- ToolStripDropDownDesigner.cs
- Formatter.cs
- ModelTreeEnumerator.cs
- _NtlmClient.cs
- LocatorBase.cs
- MetadataItemCollectionFactory.cs
- EpmTargetTree.cs
- WebProxyScriptElement.cs
- DependencyPropertyValueSerializer.cs
- DataGridViewCheckBoxColumn.cs
- BuildManager.cs
- ReadOnlyDataSource.cs
- ApplicationSecurityInfo.cs
- InkPresenterAutomationPeer.cs
- DbModificationClause.cs
- Char.cs
- DataSvcMapFileSerializer.cs
- CodeAccessSecurityEngine.cs
- PasswordRecovery.cs
- ComponentChangedEvent.cs
- InitializingNewItemEventArgs.cs
- _ShellExpression.cs
- ComPlusThreadInitializer.cs
- OleDbInfoMessageEvent.cs
- WsdlImporter.cs
- SkipQueryOptionExpression.cs
- TextModifier.cs
- SpeakProgressEventArgs.cs
- BamlVersionHeader.cs
- ExpressionBuilderContext.cs
- SettingsSavedEventArgs.cs
- WebPartConnectionsCancelEventArgs.cs
- DataTableMappingCollection.cs
- AnnotationResource.cs
- BindingGroup.cs
- SoapFault.cs
- CounterCreationDataCollection.cs
- ExecutionContext.cs
- EntitySetRetriever.cs
- TemplateEditingFrame.cs
- SchemaImporter.cs
- MenuItemStyleCollection.cs
- TextEncodedRawTextWriter.cs
- StatusBarItem.cs
- NullRuntimeConfig.cs
- MediaEntryAttribute.cs
- OdbcConnection.cs
- Exceptions.cs
- TagMapInfo.cs
- ObjectStorage.cs
- ISAPIApplicationHost.cs
- PersonalizationProviderCollection.cs
- BinarySerializer.cs
- HttpRuntime.cs
- VirtualPathProvider.cs
- WebPartDescription.cs
- EncodingStreamWrapper.cs
- DurableErrorHandler.cs
- String.cs
- PageCatalogPart.cs
- EpmContentSerializerBase.cs
- RelationHandler.cs
- XPathNavigatorKeyComparer.cs
- VisualBasicImportReference.cs
- MobileControlsSectionHelper.cs
- DataGridCommandEventArgs.cs
- TablePattern.cs
- XmlSerializerFaultFormatter.cs
- VectorKeyFrameCollection.cs
- DefaultMemberAttribute.cs
- AbandonedMutexException.cs
- CodeCompileUnit.cs
- SendingRequestEventArgs.cs