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
- DodSequenceMerge.cs
- storepermissionattribute.cs
- TextServicesLoader.cs
- _HTTPDateParse.cs
- Random.cs
- AnimationException.cs
- TeredoHelper.cs
- RawAppCommandInputReport.cs
- storepermissionattribute.cs
- Internal.cs
- WindowInteropHelper.cs
- Unit.cs
- UIElementIsland.cs
- PackageFilter.cs
- CurrentTimeZone.cs
- WeakRefEnumerator.cs
- WebHttpBehavior.cs
- XMLDiffLoader.cs
- HtmlTitle.cs
- ApplicationInfo.cs
- ProviderBase.cs
- RemotingServices.cs
- WebPartCancelEventArgs.cs
- XsdValidatingReader.cs
- SqlComparer.cs
- TraceEventCache.cs
- FrameworkContentElement.cs
- __ComObject.cs
- MetadataCache.cs
- DataGridViewColumnDesigner.cs
- CodeAccessPermission.cs
- FunctionDetailsReader.cs
- PageContent.cs
- ControlCodeDomSerializer.cs
- FileDialog.cs
- ScaleTransform.cs
- ModuleConfigurationInfo.cs
- WmfPlaceableFileHeader.cs
- AssemblyAttributesGoHere.cs
- ProcessHostConfigUtils.cs
- CallbackHandler.cs
- DataPagerField.cs
- RegexCharClass.cs
- InvariantComparer.cs
- ErrorFormatter.cs
- DataContractSerializer.cs
- FormViewUpdatedEventArgs.cs
- DataControlLinkButton.cs
- ExpressionStringBuilder.cs
- GenericEnumConverter.cs
- PropertyInfoSet.cs
- ServiceReference.cs
- PromptBuilder.cs
- UIntPtr.cs
- QueryExecutionOption.cs
- WorkerRequest.cs
- Wizard.cs
- DataGridCheckBoxColumn.cs
- DataGridViewRowContextMenuStripNeededEventArgs.cs
- ChtmlPageAdapter.cs
- CompressEmulationStream.cs
- SecureUICommand.cs
- CompositeFontParser.cs
- ModelPerspective.cs
- Ray3DHitTestResult.cs
- TextContainerHelper.cs
- RemoteWebConfigurationHostStream.cs
- ObjectHelper.cs
- FragmentQueryProcessor.cs
- TypeUsageBuilder.cs
- WindowsIPAddress.cs
- WebPartConnectionsCancelEventArgs.cs
- SqlConnectionHelper.cs
- DocumentSequenceHighlightLayer.cs
- JsonWriter.cs
- MachineKeySection.cs
- CompositionAdorner.cs
- DataGridItemEventArgs.cs
- FloatUtil.cs
- RC2.cs
- PartitionResolver.cs
- ExpressionEditorAttribute.cs
- HtmlImage.cs
- activationcontext.cs
- HeaderUtility.cs
- BrowserDefinition.cs
- TypefaceMap.cs
- CheckBoxStandardAdapter.cs
- ProviderException.cs
- _KerberosClient.cs
- HttpBindingExtension.cs
- TypeCodeDomSerializer.cs
- GPRECTF.cs
- DockPattern.cs
- HtmlProps.cs
- BulletedList.cs
- ApplicationActivator.cs
- WorkflowTerminatedException.cs
- HostedNamedPipeTransportManager.cs
- GenericRootAutomationPeer.cs