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
- DetailsViewAutoFormat.cs
- TickBar.cs
- VersionedStreamOwner.cs
- XPathDocumentBuilder.cs
- ConnectionPointCookie.cs
- JsonReaderWriterFactory.cs
- EditingCoordinator.cs
- MsmqIntegrationValidationBehavior.cs
- PathFigure.cs
- AdornerPresentationContext.cs
- QilIterator.cs
- _emptywebproxy.cs
- CssClassPropertyAttribute.cs
- SizeIndependentAnimationStorage.cs
- XmlObjectSerializer.cs
- VSWCFServiceContractGenerator.cs
- PenContext.cs
- RepeaterCommandEventArgs.cs
- XmlObjectSerializerWriteContextComplexJson.cs
- Control.cs
- OdbcHandle.cs
- ChannelManager.cs
- WebPartManagerInternals.cs
- MediaElement.cs
- ImpersonationOption.cs
- ConfigViewGenerator.cs
- MsmqHostedTransportManager.cs
- PageTheme.cs
- Event.cs
- CustomWebEventKey.cs
- PasswordBoxAutomationPeer.cs
- AsnEncodedData.cs
- GeneralTransform.cs
- HttpInputStream.cs
- ResXBuildProvider.cs
- Stylesheet.cs
- HtmlForm.cs
- WebContentFormatHelper.cs
- DataSetUtil.cs
- TagMapInfo.cs
- OletxTransactionFormatter.cs
- TextTreeInsertElementUndoUnit.cs
- PageClientProxyGenerator.cs
- DataGridViewComboBoxCell.cs
- TemplateNameScope.cs
- AggregationMinMaxHelpers.cs
- Zone.cs
- QuadraticBezierSegment.cs
- ThemeableAttribute.cs
- QilExpression.cs
- GridViewHeaderRowPresenterAutomationPeer.cs
- QueryPageSettingsEventArgs.cs
- ListView.cs
- SessionEndingEventArgs.cs
- DetailsViewRowCollection.cs
- WebBrowserNavigatingEventHandler.cs
- ActivationServices.cs
- ProgressBar.cs
- MembershipSection.cs
- PropertyKey.cs
- ServiceModelStringsVersion1.cs
- ControlIdConverter.cs
- DataSourceIDConverter.cs
- ObjectSpanRewriter.cs
- Size3D.cs
- PenLineJoinValidation.cs
- BufferedGraphics.cs
- DataGridViewRowHeightInfoPushedEventArgs.cs
- TargetException.cs
- SelectedGridItemChangedEvent.cs
- HttpModuleCollection.cs
- InputLanguageProfileNotifySink.cs
- DataGridViewToolTip.cs
- InputChannel.cs
- EditorPartCollection.cs
- HandlerBase.cs
- BuilderPropertyEntry.cs
- RecognizeCompletedEventArgs.cs
- BamlTreeUpdater.cs
- CustomLineCap.cs
- TypeDelegator.cs
- DiffuseMaterial.cs
- Permission.cs
- UriTemplateEquivalenceComparer.cs
- SecureEnvironment.cs
- PasswordRecoveryAutoFormat.cs
- DataServiceProviderWrapper.cs
- DefaultProxySection.cs
- EmbeddedMailObjectsCollection.cs
- SslStreamSecurityBindingElement.cs
- XmlObjectSerializerWriteContext.cs
- NamedPipeTransportElement.cs
- MatrixAnimationUsingKeyFrames.cs
- IdentityHolder.cs
- RelationshipConverter.cs
- StringUtil.cs
- KeyValueInternalCollection.cs
- Activity.cs
- BigInt.cs
- FastPropertyAccessor.cs