Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / 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
- ToolStripDesignerUtils.cs
- ListBox.cs
- securestring.cs
- _AutoWebProxyScriptWrapper.cs
- FocusManager.cs
- LifetimeServices.cs
- Clause.cs
- WebRequest.cs
- followingquery.cs
- ToolZone.cs
- FixedHighlight.cs
- XmlDataProvider.cs
- ProfilePropertySettings.cs
- DataSourceView.cs
- FtpRequestCacheValidator.cs
- ApplicationActivator.cs
- PointAnimationBase.cs
- CriticalFinalizerObject.cs
- Peer.cs
- DelegatingTypeDescriptionProvider.cs
- Evidence.cs
- SendSecurityHeader.cs
- Size.cs
- PrePostDescendentsWalker.cs
- UnsafeNetInfoNativeMethods.cs
- ByeOperationCD1AsyncResult.cs
- CommentEmitter.cs
- nulltextcontainer.cs
- ListArgumentProvider.cs
- XmlSerializationReader.cs
- LinqToSqlWrapper.cs
- DesigntimeLicenseContextSerializer.cs
- ReadOnlyHierarchicalDataSourceView.cs
- DeferredBinaryDeserializerExtension.cs
- DataFormats.cs
- FigureParaClient.cs
- WebColorConverter.cs
- CreateParams.cs
- DBSchemaTable.cs
- MenuItemCollection.cs
- WeakHashtable.cs
- shaper.cs
- HttpProfileGroupBase.cs
- ConfigurationPermission.cs
- ObjectToken.cs
- HtmlProps.cs
- DynamicRendererThreadManager.cs
- BinaryObjectReader.cs
- Win32PrintDialog.cs
- PeerCollaborationPermission.cs
- DependencyProperty.cs
- XPathParser.cs
- WindowsListViewGroupHelper.cs
- WindowsGraphics.cs
- XmlHelper.cs
- BinaryParser.cs
- TiffBitmapEncoder.cs
- InstanceDescriptor.cs
- ButtonFieldBase.cs
- DBParameter.cs
- OAVariantLib.cs
- ValidatorUtils.cs
- PhysicalFontFamily.cs
- MDIWindowDialog.cs
- PolicyManager.cs
- ToolStripEditorManager.cs
- BamlLocalizableResourceKey.cs
- BuildManager.cs
- DeviceSpecificChoice.cs
- Internal.cs
- dtdvalidator.cs
- MissingMethodException.cs
- StatusBar.cs
- ProtocolImporter.cs
- ProcessHost.cs
- __ComObject.cs
- SqlGatherProducedAliases.cs
- SoapConverter.cs
- HtmlInputButton.cs
- ToolStrip.cs
- HttpDictionary.cs
- HandleCollector.cs
- TrackBarRenderer.cs
- DataGridColumnHeader.cs
- NavigationWindowAutomationPeer.cs
- AdapterDictionary.cs
- RegexGroup.cs
- CodeNamespace.cs
- DataGridPagerStyle.cs
- Type.cs
- RoleService.cs
- StateDesigner.CommentLayoutGlyph.cs
- OdbcConnectionString.cs
- TreeView.cs
- CodeIndexerExpression.cs
- HtmlInputSubmit.cs
- XNodeSchemaApplier.cs
- WebResourceUtil.cs
- XmlConverter.cs
- PropertyCollection.cs