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
- safelink.cs
- WindowsAltTab.cs
- CancelEventArgs.cs
- ListView.cs
- PageBuildProvider.cs
- CollectionContainer.cs
- ListViewItemCollectionEditor.cs
- WebPartTransformerAttribute.cs
- KerberosSecurityTokenProvider.cs
- DesignerAttribute.cs
- SocketElement.cs
- DataControlFieldCell.cs
- Delegate.cs
- SmiMetaDataProperty.cs
- CodeTypeDeclarationCollection.cs
- StrokeCollection.cs
- NumericUpDownAccelerationCollection.cs
- ScriptControlManager.cs
- GridLength.cs
- DoubleIndependentAnimationStorage.cs
- BinaryParser.cs
- DataGridViewBand.cs
- MarkupCompiler.cs
- Region.cs
- EntitySqlQueryCacheEntry.cs
- FileInfo.cs
- RNGCryptoServiceProvider.cs
- DataControlFieldHeaderCell.cs
- BasePattern.cs
- Char.cs
- QilReference.cs
- QuaternionAnimationUsingKeyFrames.cs
- MimeTypeMapper.cs
- XmlTextWriter.cs
- DataGridCommandEventArgs.cs
- DataTableMappingCollection.cs
- DependencyObjectType.cs
- Stroke.cs
- AttachedPropertyBrowsableForChildrenAttribute.cs
- VisualTarget.cs
- Nodes.cs
- DataRelationPropertyDescriptor.cs
- ResourceFallbackManager.cs
- AccessViolationException.cs
- iisPickupDirectory.cs
- LinearKeyFrames.cs
- TemplateColumn.cs
- EventMemberCodeDomSerializer.cs
- ParameterModifier.cs
- Matrix3DStack.cs
- CodePageEncoding.cs
- AuthenticationSection.cs
- DbDataReader.cs
- ToolboxItemLoader.cs
- SetState.cs
- Sql8ConformanceChecker.cs
- mda.cs
- HyperLink.cs
- SafeViewOfFileHandle.cs
- DataGridToolTip.cs
- PerformanceCounterPermissionAttribute.cs
- RegexReplacement.cs
- ScriptReference.cs
- FormsAuthentication.cs
- RadioButtonPopupAdapter.cs
- DodSequenceMerge.cs
- TransformerInfo.cs
- SecurityResources.cs
- LogicalMethodInfo.cs
- HttpFileCollection.cs
- safesecurityhelperavalon.cs
- ResourceReferenceKeyNotFoundException.cs
- ExpressionBindingCollection.cs
- NegotiateStream.cs
- PieceDirectory.cs
- GlyphingCache.cs
- ExecutionContext.cs
- HwndStylusInputProvider.cs
- CheckPair.cs
- Debug.cs
- KeyBinding.cs
- FontResourceCache.cs
- Activator.cs
- LocalClientSecuritySettingsElement.cs
- SiteMapNodeItemEventArgs.cs
- Menu.cs
- Graphics.cs
- ZipPackagePart.cs
- SmiMetaData.cs
- HttpFileCollectionBase.cs
- MtomMessageEncodingElement.cs
- TypeTypeConverter.cs
- COM2Enum.cs
- PermissionSetTriple.cs
- WorkflowMarkupSerializationManager.cs
- FloaterParagraph.cs
- StorageComplexTypeMapping.cs
- CompilationLock.cs
- Condition.cs
- IdleTimeoutMonitor.cs