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
- BinaryNode.cs
- Pair.cs
- Processor.cs
- IUnknownConstantAttribute.cs
- DirectoryObjectSecurity.cs
- StrokeNodeOperations.cs
- EpmContentSerializer.cs
- ExtensionSimplifierMarkupObject.cs
- PropertyGroupDescription.cs
- QilReference.cs
- PrePostDescendentsWalker.cs
- InputReportEventArgs.cs
- TraceFilter.cs
- BitmapPalette.cs
- MemberRelationshipService.cs
- DrawingGroupDrawingContext.cs
- ValidationError.cs
- IsolatedStorageFile.cs
- SByteStorage.cs
- WsdlInspector.cs
- PathSegmentCollection.cs
- UserControlCodeDomTreeGenerator.cs
- DrawingContextWalker.cs
- MissingManifestResourceException.cs
- WsdlHelpGeneratorElement.cs
- RequestQueryParser.cs
- FontUnit.cs
- VisualStyleElement.cs
- CodeExpressionStatement.cs
- RoleGroupCollection.cs
- CacheChildrenQuery.cs
- TypeToArgumentTypeConverter.cs
- XXXInfos.cs
- HtmlInputHidden.cs
- FontWeights.cs
- PartialTrustVisibleAssemblyCollection.cs
- DataGridColumnCollection.cs
- DataStorage.cs
- ArglessEventHandlerProxy.cs
- WebPartEditorOkVerb.cs
- SchemaConstraints.cs
- Menu.cs
- CodePrimitiveExpression.cs
- FontSizeConverter.cs
- NameNode.cs
- Repeater.cs
- Expander.cs
- ListViewTableCell.cs
- PersonalizablePropertyEntry.cs
- WebPartVerb.cs
- HtmlTitle.cs
- DataRelation.cs
- TogglePattern.cs
- DescendantOverDescendantQuery.cs
- TableParagraph.cs
- VerticalAlignConverter.cs
- HttpContextBase.cs
- JsonQNameDataContract.cs
- Win32.cs
- TdsParserHelperClasses.cs
- ToolStripControlHost.cs
- ListItemConverter.cs
- TriggerAction.cs
- PointCollection.cs
- SpeechRecognizer.cs
- StringStorage.cs
- SchemaObjectWriter.cs
- ProviderManager.cs
- UrlMappingsSection.cs
- CreateParams.cs
- CompilationLock.cs
- RootProfilePropertySettingsCollection.cs
- SqlDataSourceConfigureSelectPanel.cs
- Util.cs
- Html32TextWriter.cs
- ConfigXmlComment.cs
- DataContractSerializerSection.cs
- RemoteArgument.cs
- OutputScopeManager.cs
- StreamGeometryContext.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- FusionWrap.cs
- UIElementCollection.cs
- IndexedGlyphRun.cs
- Module.cs
- ExtensionCollection.cs
- AuthorizationPolicyTypeElementCollection.cs
- Command.cs
- ADMembershipProvider.cs
- RectConverter.cs
- Panel.cs
- NGCPageContentCollectionSerializerAsync.cs
- AppLevelCompilationSectionCache.cs
- AutomationElementCollection.cs
- HandlerFactoryCache.cs
- ArrangedElement.cs
- CodeMemberMethod.cs
- NonVisualControlAttribute.cs
- SecurityContext.cs
- ObjectQuery.cs