Code:
/ DotNET / DotNET / 8.0 / untmp / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- WebSysDisplayNameAttribute.cs
- FlowDocumentReader.cs
- XmlSerializer.cs
- XmlNavigatorFilter.cs
- GridViewRowPresenterBase.cs
- InputLanguageEventArgs.cs
- SchemaComplexType.cs
- RewritingValidator.cs
- ObjectStateEntryDbUpdatableDataRecord.cs
- TextTreeTextBlock.cs
- SignatureHelper.cs
- CompensableActivity.cs
- RepeaterItemEventArgs.cs
- WpfWebRequestHelper.cs
- ApplicationServiceHelper.cs
- SparseMemoryStream.cs
- StyleCollection.cs
- PagedDataSource.cs
- FormsAuthenticationTicket.cs
- FontCollection.cs
- RightsManagementInformation.cs
- OrderPreservingMergeHelper.cs
- ColumnHeaderConverter.cs
- Compiler.cs
- ConfigXmlElement.cs
- WorkflowCreationContext.cs
- Stroke2.cs
- PanelDesigner.cs
- MediaContextNotificationWindow.cs
- RSAPKCS1SignatureDeformatter.cs
- SocketPermission.cs
- DataTablePropertyDescriptor.cs
- HtmlShim.cs
- COM2ExtendedBrowsingHandler.cs
- ClientScriptManagerWrapper.cs
- DataGridViewTextBoxColumn.cs
- ObservableCollection.cs
- ClassData.cs
- StringComparer.cs
- DoubleLinkList.cs
- StylusPlugInCollection.cs
- MediaEntryAttribute.cs
- HttpListener.cs
- ToolStripRenderEventArgs.cs
- UrlPath.cs
- SimpleWorkerRequest.cs
- WebPartAddingEventArgs.cs
- DataFormats.cs
- JsonByteArrayDataContract.cs
- UserValidatedEventArgs.cs
- WindowsAuthenticationEventArgs.cs
- BatchWriter.cs
- InkCanvas.cs
- ViewGenResults.cs
- TranslateTransform3D.cs
- ListViewItem.cs
- Pkcs7Recipient.cs
- DataObjectCopyingEventArgs.cs
- FlowLayoutSettings.cs
- SQlBooleanStorage.cs
- complextypematerializer.cs
- KeyManager.cs
- QilPatternVisitor.cs
- VariantWrapper.cs
- TimeStampChecker.cs
- WrapperEqualityComparer.cs
- CodeDirectoryCompiler.cs
- MsmqAppDomainProtocolHandler.cs
- SqlVersion.cs
- NotifyCollectionChangedEventArgs.cs
- BinaryCommonClasses.cs
- SettingsPropertyIsReadOnlyException.cs
- DesignerCategoryAttribute.cs
- BindableTemplateBuilder.cs
- EventHandlersStore.cs
- PropertyEmitter.cs
- ItemTypeToolStripMenuItem.cs
- DesigntimeLicenseContext.cs
- ListDictionary.cs
- ExpressionLink.cs
- AssemblyHash.cs
- PhonemeConverter.cs
- ObjectDataSourceChooseTypePanel.cs
- InputLanguageEventArgs.cs
- TypefaceMap.cs
- ChannelManager.cs
- NativeObjectSecurity.cs
- shaper.cs
- versioninfo.cs
- KeysConverter.cs
- followingsibling.cs
- TableLayoutColumnStyleCollection.cs
- XmlMemberMapping.cs
- TextParagraphCache.cs
- Pkcs7Recipient.cs
- Expression.cs
- WindowsAuthenticationModule.cs
- SimpleTypesSurrogate.cs
- TrayIconDesigner.cs
- StylusCaptureWithinProperty.cs