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
- CompatibleIComparer.cs
- ConsoleEntryPoint.cs
- EntityDataSourceValidationException.cs
- PopupEventArgs.cs
- PointCollection.cs
- ArrayConverter.cs
- Socket.cs
- XPathEmptyIterator.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- LicenseManager.cs
- NumberFormatInfo.cs
- TextTreeText.cs
- ContextDataSourceContextData.cs
- PathStreamGeometryContext.cs
- X509Certificate2.cs
- MulticastIPAddressInformationCollection.cs
- StringFormat.cs
- MruCache.cs
- JsonClassDataContract.cs
- XmlUtil.cs
- HttpStreamMessage.cs
- XmlAttributes.cs
- CodeParameterDeclarationExpressionCollection.cs
- DiscardableAttribute.cs
- AnnotationHelper.cs
- Converter.cs
- StringInfo.cs
- ChtmlMobileTextWriter.cs
- ProfilePropertySettingsCollection.cs
- TextBoxLine.cs
- BindableTemplateBuilder.cs
- SecurityResources.cs
- CustomErrorsSectionWrapper.cs
- PrimitiveXmlSerializers.cs
- TextReader.cs
- ProxyWebPart.cs
- OracleSqlParser.cs
- Hash.cs
- SqlCharStream.cs
- ManagementNamedValueCollection.cs
- ToolBarTray.cs
- BaseProcessProtocolHandler.cs
- DateBoldEvent.cs
- Geometry3D.cs
- RowVisual.cs
- ThreadStateException.cs
- TypeGeneratedEventArgs.cs
- EpmCustomContentDeSerializer.cs
- ErrorWebPart.cs
- PerformanceCounterNameAttribute.cs
- AutoGeneratedField.cs
- OpenFileDialog.cs
- UITypeEditor.cs
- GC.cs
- MergeFailedEvent.cs
- TimeoutConverter.cs
- Normalizer.cs
- DataGridTablesFactory.cs
- PngBitmapEncoder.cs
- DefaultTextStore.cs
- Dispatcher.cs
- COM2Enum.cs
- EventPrivateKey.cs
- UrlMappingsSection.cs
- GridViewUpdateEventArgs.cs
- AnnotationAuthorChangedEventArgs.cs
- WinCategoryAttribute.cs
- DataSourceDescriptorCollection.cs
- EventlogProvider.cs
- AccessText.cs
- ImageFormat.cs
- SecurityKeyIdentifier.cs
- PropertyDescriptorCollection.cs
- ObjectDataSource.cs
- PathSegment.cs
- SmiSettersStream.cs
- EventManager.cs
- DataServiceStreamProviderWrapper.cs
- Int32Collection.cs
- SoundPlayer.cs
- ListViewItemCollectionEditor.cs
- ValueUtilsSmi.cs
- FormsAuthenticationModule.cs
- DataTablePropertyDescriptor.cs
- BinaryObjectWriter.cs
- DynamicPropertyReader.cs
- WebPartDescription.cs
- CheckBoxField.cs
- DataRowChangeEvent.cs
- DataColumnCollection.cs
- ClockGroup.cs
- NegotiateStream.cs
- OdbcConnection.cs
- DataBoundControlAdapter.cs
- UIElement3D.cs
- FileCodeGroup.cs
- GcHandle.cs
- ClientCultureInfo.cs
- JsonEnumDataContract.cs
- DiscoveryExceptionDictionary.cs