Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Speech / Src / Internal / GrammarBuilding / RuleElement.cs / 1 / RuleElement.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 RuleElement : BuilderElements
{
//*******************************************************************
//
// Constructors
//
//*******************************************************************
#region Constructors
///
///
///
///
internal RuleElement (string name)
{
_name = name;
}
///
///
///
///
///
internal RuleElement (GrammarBuilderBase builder, string name)
: this (name)
{
Add (builder);
}
#endregion
//********************************************************************
//
// Public Methods
//
//*******************************************************************
#region Public Methods
/// TODOC <_include file='doc\SpeechAudioFormatInfo.uex' path='docs/doc[@for="SpeechAudioFormatInfo.Equals"]/*' />
public override bool Equals (object obj)
{
RuleElement refObj = obj as RuleElement;
if (refObj == null)
{
return false;
}
if (!base.Equals (obj))
{
return false;
}
return _name == refObj._name;
}
/// 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
///
///
///
///
internal override GrammarBuilderBase Clone ()
{
RuleElement rule = new RuleElement (_name);
rule.CloneItems (this);
return rule;
}
///
///
///
///
///
///
///
///
internal override IElement CreateElement (IElementFactory elementFactory, IElement parent, IRule rule, IdentifierCollection ruleIds)
{
if (_rule == null)
{
IGrammar grammar = elementFactory.Grammar;
// Create the rule
_ruleName = ruleIds.CreateNewIdentifier (Name);
_rule = grammar.CreateRule (_ruleName, RulePublic.False, RuleDynamic.NotSet, false);
// Create the children elements
CreateChildrenElements (elementFactory, _rule, ruleIds);
_rule.PostParse (grammar);
}
return _rule;
}
///
///
///
///
internal override int CalcCount (BuilderElements parent)
{
// clear any existing value
_rule = null;
return base.CalcCount (parent);
}
#endregion
//*******************************************************************
//
// Internal Properties
//
//********************************************************************
#region Internal Properties
override internal string DebugSummary
{
get
{
return _name + "=" + base.DebugSummary;
}
}
internal string Name
{
get
{
return _name;
}
}
internal string RuleName
{
get
{
return _ruleName;
}
}
#endregion
//*******************************************************************
//
// Private Fields
//
//*******************************************************************
#region Private Fields
///
///
///
private readonly string _name;
private string _ruleName;
private IRule _rule;
#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
- Group.cs
- StickyNoteContentControl.cs
- MediaPlayerState.cs
- ListSourceHelper.cs
- ToolboxItemCollection.cs
- PopupRoot.cs
- ExplicitDiscriminatorMap.cs
- COAUTHINFO.cs
- ProcessModule.cs
- MasterPage.cs
- ImportContext.cs
- _RegBlobWebProxyDataBuilder.cs
- DataGridViewButtonColumn.cs
- BaseCollection.cs
- ObjectListCommandCollection.cs
- FastPropertyAccessor.cs
- DataDocumentXPathNavigator.cs
- TypeDescriptionProviderAttribute.cs
- CopyOnWriteList.cs
- SystemNetHelpers.cs
- ApplicationServicesHostFactory.cs
- ResourcesChangeInfo.cs
- EncodingTable.cs
- XslAstAnalyzer.cs
- HtmlTableRow.cs
- BevelBitmapEffect.cs
- SiblingIterators.cs
- XmlRawWriterWrapper.cs
- DrawingVisual.cs
- DataListItemCollection.cs
- CTreeGenerator.cs
- SpellerHighlightLayer.cs
- SqlCharStream.cs
- SynchronizingStream.cs
- ExtendedProtectionPolicyElement.cs
- DataGridToolTip.cs
- KoreanCalendar.cs
- GPPOINT.cs
- CircleHotSpot.cs
- ModelUtilities.cs
- StringOutput.cs
- XmlEventCache.cs
- StringAnimationBase.cs
- InternalConfigSettingsFactory.cs
- SafeRightsManagementSessionHandle.cs
- WebGetAttribute.cs
- GrammarBuilderDictation.cs
- XamlFigureLengthSerializer.cs
- DeclarationUpdate.cs
- TypeUtil.cs
- FigureParaClient.cs
- XmlCodeExporter.cs
- ListViewTableRow.cs
- ListItemCollection.cs
- ButtonPopupAdapter.cs
- DataGridViewRowHeightInfoPushedEventArgs.cs
- Paragraph.cs
- TemplateComponentConnector.cs
- TcpStreams.cs
- KnownTypeDataContractResolver.cs
- SafeFileHandle.cs
- SourceInterpreter.cs
- SafePEFileHandle.cs
- TriggerCollection.cs
- MobileUserControlDesigner.cs
- InOutArgumentConverter.cs
- Int32.cs
- FrameworkPropertyMetadata.cs
- XmlSchemaComplexContentExtension.cs
- ExpressionBuilderCollection.cs
- ImageFormatConverter.cs
- Pair.cs
- RoleManagerModule.cs
- CurrentChangedEventManager.cs
- Geometry.cs
- SymbolEqualComparer.cs
- InternalsVisibleToAttribute.cs
- ImageDesigner.cs
- FontInfo.cs
- MembershipValidatePasswordEventArgs.cs
- XmlSchemaValidator.cs
- RSAPKCS1KeyExchangeFormatter.cs
- WSSecurityPolicy12.cs
- Typography.cs
- BinaryOperationBinder.cs
- Trace.cs
- PropertyDescriptorCollection.cs
- CanonicalFontFamilyReference.cs
- DomNameTable.cs
- BaseParser.cs
- FieldNameLookup.cs
- UseLicense.cs
- X509Utils.cs
- SmtpNtlmAuthenticationModule.cs
- XPathBuilder.cs
- FormViewPagerRow.cs
- CompoundFileStorageReference.cs
- ApplicationDirectoryMembershipCondition.cs
- Int16AnimationUsingKeyFrames.cs
- XPathNode.cs