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
- FeatureSupport.cs
- followingsibling.cs
- QilPatternVisitor.cs
- PtsPage.cs
- Codec.cs
- SourceSwitch.cs
- SafeThreadHandle.cs
- AffineTransform3D.cs
- UITypeEditor.cs
- ChangeTracker.cs
- LocalIdKeyIdentifierClause.cs
- EmissiveMaterial.cs
- DefaultAssemblyResolver.cs
- SoapSchemaImporter.cs
- NumericUpDown.cs
- UpdatePanelTrigger.cs
- StringAttributeCollection.cs
- EastAsianLunisolarCalendar.cs
- Identifier.cs
- Mappings.cs
- FormsAuthenticationConfiguration.cs
- ValueProviderWrapper.cs
- EditorZoneBase.cs
- OneWayChannelFactory.cs
- WeakReferenceKey.cs
- AutoGeneratedFieldProperties.cs
- TypographyProperties.cs
- ValidationHelpers.cs
- X509CertificateCollection.cs
- RegexCode.cs
- XmlObjectSerializerWriteContextComplexJson.cs
- InvalidFilterCriteriaException.cs
- AmbientLight.cs
- SmiEventSink.cs
- oledbconnectionstring.cs
- FixUp.cs
- ValidateNames.cs
- QueryInterceptorAttribute.cs
- FrameworkElement.cs
- AstTree.cs
- HTMLTagNameToTypeMapper.cs
- DeploymentSection.cs
- WinFormsUtils.cs
- ResourceReferenceKeyNotFoundException.cs
- SqlDataAdapter.cs
- MethodRental.cs
- ItemsPresenter.cs
- UnmanagedBitmapWrapper.cs
- DesignerActionMethodItem.cs
- CollectionBase.cs
- ClosureBinding.cs
- DoubleAnimation.cs
- LocalizableResourceBuilder.cs
- CornerRadius.cs
- DataGridItemEventArgs.cs
- DataPointer.cs
- ClientTargetSection.cs
- CheckableControlBaseAdapter.cs
- AppDomainProtocolHandler.cs
- CustomBinding.cs
- LogEntrySerialization.cs
- Socket.cs
- Boolean.cs
- FocusTracker.cs
- EntityDataSourceSelectedEventArgs.cs
- EntityDataSourceWrapperPropertyDescriptor.cs
- SoapException.cs
- CapabilitiesState.cs
- WebControlsSection.cs
- DataReaderContainer.cs
- StringPropertyBuilder.cs
- DetailsViewInsertEventArgs.cs
- XmlnsDefinitionAttribute.cs
- IdentifierService.cs
- FileNotFoundException.cs
- JsonDataContract.cs
- EnumerableCollectionView.cs
- SQLBytes.cs
- DaylightTime.cs
- FixedSOMTextRun.cs
- CommonDialog.cs
- GridLengthConverter.cs
- DbParameterCollectionHelper.cs
- HttpConfigurationContext.cs
- SoapAttributes.cs
- ProcessHostMapPath.cs
- UniqueCodeIdentifierScope.cs
- SchemaType.cs
- ChannelManager.cs
- WebPartCloseVerb.cs
- ClassHandlersStore.cs
- ParallelTimeline.cs
- AdapterDictionary.cs
- QueryContinueDragEventArgs.cs
- SerializableAttribute.cs
- SecurityProtocol.cs
- FunctionUpdateCommand.cs
- Bezier.cs
- SecurityTokenResolver.cs
- validationstate.cs