Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Speech / Src / Internal / SrgsCompiler / propertytag.cs / 1 / propertytag.cs
//------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------
using System;
using System.Runtime.InteropServices;
using System.Speech.Internal.SrgsParser;
#pragma warning disable 1634, 1691 // Allows suppression of certain PreSharp messages.
namespace System.Speech.Internal.SrgsCompiler
{
///
/// Summary description for Rule.
///
internal sealed class PropertyTag : ParseElement, IPropertyTag
{
//*******************************************************************
//
// Constructors
//
//*******************************************************************
#region Constructors
internal PropertyTag (ParseElement parent, Backend backend)
: base (parent._rule)
{
}
#endregion
//********************************************************************
//
// Internal Methods
//
//*******************************************************************
#region Internal Methods
#pragma warning disable 56507
/// TODOC <_include file='doc\Tag.uex' path='docs/doc[@for="Tag.RepeatProbability"]/*' />
// The probability that this item will be repeated.
void IPropertyTag.NameValue (IElement parent, string name, object value)
{
//Return if the Tag content is empty
string sValue = value as string;
if (string.IsNullOrEmpty (name) && (value == null || (sValue != null && string.IsNullOrEmpty ((sValue).Trim ()))))
{
return;
}
// Build semantic properties to attach to epsilon transition.
// Name= pszValue = null vValue = VT_EMPTY
// Name="string" pszValue = "string" vValue = VT_EMPTY
// Name=true pszValue = null vValue = VT_BOOL
// Name=123 pszValue = null vValue = VT_I4
// Name=3.14 pszValue = null vValue = VT_R8
if (!string.IsNullOrEmpty (name))
{
// Set property name
_propInfo._pszName = name;
}
else
{
// If no property, set the name to the anonymous property name
_propInfo._pszName = "=";
}
// Set property value
_propInfo._comValue = value;
if (value == null)
{
_propInfo._comType = VarEnum.VT_EMPTY;
}
else if (sValue != null)
{
_propInfo._comType = VarEnum.VT_EMPTY;
}
else if (value is int)
{
_propInfo._comType = VarEnum.VT_I4;
}
else if (value is double)
{
_propInfo._comType = VarEnum.VT_R8;
}
else if (value is bool)
{
_propInfo._comType = VarEnum.VT_BOOL;
}
else
{
// should never get here
System.Diagnostics.Debug.Assert (false);
}
}
void IElement.PostParse (IElement parentElement)
{
ParseElementCollection parent = (ParseElementCollection) parentElement;
_propInfo._ulId = (uint) parent._rule._iSerialize2;
// Attach the semantic properties on the parent element.
parent.AddSementicPropertyTag (_propInfo);
}
#pragma warning restore 56507
#endregion
//********************************************************************
//
// Private Fields
//
//********************************************************************
#region Private Fields
private CfgGrammar.CfgProperty _propInfo = new CfgGrammar.CfgProperty ();
#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
- DateTimePicker.cs
- OleDbDataAdapter.cs
- ManagedFilter.cs
- CustomLineCap.cs
- PassportAuthenticationEventArgs.cs
- SqlDependency.cs
- ToolStripDropDownClosedEventArgs.cs
- NetTcpSection.cs
- TableLayoutColumnStyleCollection.cs
- UIElementAutomationPeer.cs
- TdsParserSafeHandles.cs
- Parser.cs
- DataRecordInternal.cs
- BitmapEffect.cs
- validation.cs
- Helpers.cs
- TypeConverterHelper.cs
- EntityContainerEmitter.cs
- ToolStripSystemRenderer.cs
- OdbcCommand.cs
- CharConverter.cs
- EndpointAddressAugust2004.cs
- ObjectItemLoadingSessionData.cs
- MaskDescriptor.cs
- Validator.cs
- XmlSchemaSimpleContentExtension.cs
- TextEffect.cs
- KeyValueConfigurationCollection.cs
- NavigationExpr.cs
- DesignerActionUIStateChangeEventArgs.cs
- WsatAdminException.cs
- LinearQuaternionKeyFrame.cs
- RealProxy.cs
- HMACSHA256.cs
- DynamicRenderer.cs
- WindowsEditBoxRange.cs
- DataExpression.cs
- X509ChainPolicy.cs
- NotConverter.cs
- MultipleFilterMatchesException.cs
- CorrelationValidator.cs
- LineInfo.cs
- ProtectedConfiguration.cs
- PngBitmapDecoder.cs
- SchemaMerger.cs
- OdbcFactory.cs
- LoginCancelEventArgs.cs
- SystemIPv4InterfaceProperties.cs
- CollectionType.cs
- SingleConverter.cs
- HttpVersion.cs
- ToolStripDesignerAvailabilityAttribute.cs
- AppearanceEditorPart.cs
- BlurEffect.cs
- AutomationFocusChangedEventArgs.cs
- ImageInfo.cs
- XmlTypeAttribute.cs
- CursorConverter.cs
- EventLog.cs
- DataSourceListEditor.cs
- ProfessionalColorTable.cs
- DbProviderSpecificTypePropertyAttribute.cs
- TextBox.cs
- TabletDeviceInfo.cs
- StreamResourceInfo.cs
- FileVersionInfo.cs
- sqlnorm.cs
- TextTreeDeleteContentUndoUnit.cs
- ColorMatrix.cs
- ProfileEventArgs.cs
- CacheMemory.cs
- DataRelationPropertyDescriptor.cs
- Task.cs
- DataSourceXmlClassAttribute.cs
- Transform.cs
- ControlBuilder.cs
- GraphicsState.cs
- BatchStream.cs
- RecordsAffectedEventArgs.cs
- RemoveStoryboard.cs
- XslAst.cs
- JavaScriptObjectDeserializer.cs
- ResolveNameEventArgs.cs
- StreamUpgradeAcceptor.cs
- AppDomainProtocolHandler.cs
- VectorCollection.cs
- ProviderCollection.cs
- XslTransform.cs
- ListBoxItem.cs
- HttpException.cs
- XmlDataSourceView.cs
- LinkedResourceCollection.cs
- InvalidCastException.cs
- Control.cs
- SystemIPInterfaceProperties.cs
- MetadataHelper.cs
- OptionalMessageQuery.cs
- XmlValidatingReaderImpl.cs
- bindurihelper.cs
- TypeToTreeConverter.cs