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
- RelatedView.cs
- DesigntimeLicenseContextSerializer.cs
- GPStream.cs
- ContractTypeNameCollection.cs
- RequestCachePolicyConverter.cs
- ScriptManagerProxy.cs
- HtmlButton.cs
- BitmapSource.cs
- CultureInfoConverter.cs
- SynchronizationContextHelper.cs
- ComboBoxItem.cs
- XPathNodePointer.cs
- ActivityExecutorOperation.cs
- DeclarativeCatalogPartDesigner.cs
- IODescriptionAttribute.cs
- FixedBufferAttribute.cs
- BinaryFormatterWriter.cs
- ConstraintStruct.cs
- VisualBasicValue.cs
- HttpCookiesSection.cs
- PrintDialogException.cs
- RSAPKCS1SignatureFormatter.cs
- ObjectStateManagerMetadata.cs
- TableItemStyle.cs
- PageClientProxyGenerator.cs
- DigestComparer.cs
- DataFormat.cs
- BitmapEffectInputData.cs
- ProfilePropertyMetadata.cs
- HasActivatableWorkflowEvent.cs
- KeyInterop.cs
- Baml2006KnownTypes.cs
- Int32CollectionConverter.cs
- GeometryCombineModeValidation.cs
- TypeSource.cs
- HttpCacheVary.cs
- ObjectToIdCache.cs
- BigInt.cs
- IDataContractSurrogate.cs
- UserMapPath.cs
- AnnotationService.cs
- CultureSpecificStringDictionary.cs
- ModelPerspective.cs
- RequestCachingSection.cs
- ObjectViewFactory.cs
- ImportCatalogPart.cs
- ExceptionHelpers.cs
- HandleCollector.cs
- ActiveXContainer.cs
- Math.cs
- SendKeys.cs
- KeyTime.cs
- Parser.cs
- AssociationSetMetadata.cs
- NullableDecimalAverageAggregationOperator.cs
- CommunicationObjectAbortedException.cs
- InkCanvasAutomationPeer.cs
- ColumnHeader.cs
- HttpConfigurationContext.cs
- Annotation.cs
- FlatButtonAppearance.cs
- UnsafeNativeMethods.cs
- ObjectStateFormatter.cs
- StateRuntime.cs
- FormsAuthenticationEventArgs.cs
- TemplateInstanceAttribute.cs
- IdentityNotMappedException.cs
- HwndHost.cs
- UniqueConstraint.cs
- RectAnimationUsingKeyFrames.cs
- GuidelineCollection.cs
- TransactionTable.cs
- CapabilitiesUse.cs
- Opcode.cs
- FullTrustAssemblyCollection.cs
- HostingEnvironmentException.cs
- BitArray.cs
- XmlSchemaSubstitutionGroup.cs
- SponsorHelper.cs
- HwndSubclass.cs
- ControlCommandSet.cs
- XamlFigureLengthSerializer.cs
- KeyNotFoundException.cs
- CacheVirtualItemsEvent.cs
- Closure.cs
- Control.cs
- XmlCDATASection.cs
- XsltException.cs
- SmtpNegotiateAuthenticationModule.cs
- WeakReferenceList.cs
- OutputCache.cs
- IndentedTextWriter.cs
- Roles.cs
- TogglePattern.cs
- SystemIPGlobalStatistics.cs
- ActivityDesignerHelper.cs
- WebPartCatalogCloseVerb.cs
- ListViewItem.cs
- Input.cs
- SqlBooleanizer.cs