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
- ExtenderControl.cs
- TimeSpanValidator.cs
- LogManagementAsyncResult.cs
- ChameleonKey.cs
- UrlPropertyAttribute.cs
- MemberBinding.cs
- WebServicesDescriptionAttribute.cs
- ManagementScope.cs
- GroupStyle.cs
- X509SecurityToken.cs
- ReadOnlyDictionary.cs
- CriticalHandle.cs
- ObjectSecurity.cs
- AvtEvent.cs
- BitArray.cs
- WebServiceResponse.cs
- LinkConverter.cs
- SoapIncludeAttribute.cs
- TripleDESCryptoServiceProvider.cs
- CompositeScriptReferenceEventArgs.cs
- EntityDataSourceWizardForm.cs
- ConfigurationManager.cs
- IssuedTokenClientBehaviorsElement.cs
- ControlLocalizer.cs
- UnauthorizedAccessException.cs
- ProfileManager.cs
- GPStream.cs
- ViewBase.cs
- WindowsListViewGroupSubsetLink.cs
- TriggerAction.cs
- ResourceReader.cs
- CompilationUnit.cs
- _emptywebproxy.cs
- Label.cs
- StringPropertyBuilder.cs
- SlotInfo.cs
- WebBrowser.cs
- GlobalProxySelection.cs
- MappedMetaModel.cs
- TickBar.cs
- StrokeRenderer.cs
- COM2ExtendedTypeConverter.cs
- CommittableTransaction.cs
- WebPartConnectionsEventArgs.cs
- ActionFrame.cs
- localization.cs
- Opcode.cs
- Interop.cs
- LinqDataSourceStatusEventArgs.cs
- ButtonColumn.cs
- wgx_render.cs
- _AcceptOverlappedAsyncResult.cs
- Screen.cs
- Peer.cs
- TaskFileService.cs
- BitStack.cs
- EndOfStreamException.cs
- MsmqHostedTransportConfiguration.cs
- Model3DCollection.cs
- ModelUtilities.cs
- ResourceDictionary.cs
- KernelTypeValidation.cs
- Annotation.cs
- ObjectListFieldsPage.cs
- TimeManager.cs
- XmlDocumentSchema.cs
- SelectionRangeConverter.cs
- StrongBox.cs
- DateTimeFormat.cs
- Transform3DCollection.cs
- ImageMap.cs
- XmlDictionary.cs
- ContentPropertyAttribute.cs
- Drawing.cs
- TagPrefixAttribute.cs
- DrawListViewColumnHeaderEventArgs.cs
- PropertyIDSet.cs
- SortKey.cs
- KeySplineConverter.cs
- Icon.cs
- OperationAbortedException.cs
- CompilerState.cs
- ConditionCollection.cs
- WizardForm.cs
- WorkItem.cs
- ToolBar.cs
- FlowchartDesignerCommands.cs
- StyleSheetComponentEditor.cs
- ReadOnlyHierarchicalDataSourceView.cs
- MsmqNonTransactedPoisonHandler.cs
- CryptoApi.cs
- UInt16Converter.cs
- DropDownButton.cs
- Gdiplus.cs
- RuntimeWrappedException.cs
- DateTimePicker.cs
- Screen.cs
- WebEventCodes.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- RelativeSource.cs