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 / 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. // //----------------------------------------------------------------- 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- typedescriptorpermissionattribute.cs
- C14NUtil.cs
- MappingSource.cs
- SQLRoleProvider.cs
- UTF8Encoding.cs
- DataPagerFieldCollection.cs
- XslTransform.cs
- HwndStylusInputProvider.cs
- ReadOnlyCollection.cs
- CompoundFileStorageReference.cs
- XmlUrlResolver.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- DelegateSerializationHolder.cs
- BaseCollection.cs
- OleDbParameterCollection.cs
- TableItemPatternIdentifiers.cs
- ResXResourceReader.cs
- KoreanLunisolarCalendar.cs
- StreamingContext.cs
- TransformFinalBlockRequest.cs
- FrameworkReadOnlyPropertyMetadata.cs
- Pkcs9Attribute.cs
- ToolboxItem.cs
- TextAutomationPeer.cs
- OracleParameterBinding.cs
- XmlNodeList.cs
- FormViewDeletedEventArgs.cs
- ComplusEndpointConfigContainer.cs
- SharedStatics.cs
- DeclarativeCatalogPartDesigner.cs
- ConfigXmlReader.cs
- ProxyBuilder.cs
- BaseCollection.cs
- MethodRental.cs
- XmlSchemaIdentityConstraint.cs
- CatalogZone.cs
- BufferedMessageData.cs
- XmlTextWriter.cs
- TextAnchor.cs
- SqlDataRecord.cs
- FtpWebResponse.cs
- ClickablePoint.cs
- SettingsProviderCollection.cs
- EmptyControlCollection.cs
- StylusPointProperties.cs
- ItemContainerGenerator.cs
- Privilege.cs
- EntityCommandDefinition.cs
- TextBox.cs
- TextAnchor.cs
- Vector.cs
- ClosableStream.cs
- ComponentCollection.cs
- LingerOption.cs
- CatalogPart.cs
- ComponentGlyph.cs
- sqlstateclientmanager.cs
- UpdateProgress.cs
- DataBindingsDialog.cs
- CfgRule.cs
- ZoneIdentityPermission.cs
- UTF8Encoding.cs
- GlobalDataBindingHandler.cs
- LiteralControl.cs
- HttpValueCollection.cs
- WebPartMovingEventArgs.cs
- SystemResourceHost.cs
- SvcMapFile.cs
- CultureInfoConverter.cs
- StrongNameMembershipCondition.cs
- ADMembershipUser.cs
- ScriptReferenceEventArgs.cs
- MenuItemBinding.cs
- IIS7WorkerRequest.cs
- MultiAsyncResult.cs
- ImageField.cs
- ExecutedRoutedEventArgs.cs
- ListManagerBindingsCollection.cs
- PreloadedPackages.cs
- SystemIPAddressInformation.cs
- AlignmentYValidation.cs
- GeneralTransformCollection.cs
- ProcessHostServerConfig.cs
- DBNull.cs
- DescriptionAttribute.cs
- GZipDecoder.cs
- BitmapData.cs
- ObjectQuery.cs
- Membership.cs
- BufferedStream.cs
- Exception.cs
- FrameworkContentElement.cs
- DetailsViewCommandEventArgs.cs
- LineInfo.cs
- TextOptions.cs
- ComponentSerializationService.cs
- DbProviderSpecificTypePropertyAttribute.cs
- XmlSchemaException.cs
- LightweightCodeGenerator.cs
- AliasGenerator.cs