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
- ResourceSet.cs
- Type.cs
- MutexSecurity.cs
- ScheduleChanges.cs
- XsdDuration.cs
- NameNode.cs
- DebugController.cs
- TableRow.cs
- DataGridCellEditEndingEventArgs.cs
- PhysicalOps.cs
- SqlDataSourceCustomCommandEditor.cs
- MissingManifestResourceException.cs
- SimpleFieldTemplateFactory.cs
- ResXBuildProvider.cs
- RemotingSurrogateSelector.cs
- SqlErrorCollection.cs
- DependentList.cs
- XNodeNavigator.cs
- hresults.cs
- XamlReaderHelper.cs
- SafeSystemMetrics.cs
- PLINQETWProvider.cs
- IriParsingElement.cs
- HtmlControlAdapter.cs
- MultipleFilterMatchesException.cs
- ScriptRegistrationManager.cs
- BackgroundFormatInfo.cs
- ModelFactory.cs
- InkCanvasSelection.cs
- EventLogPermission.cs
- ElapsedEventArgs.cs
- SchemaDeclBase.cs
- ResourceManager.cs
- SqlTriggerAttribute.cs
- FormsAuthentication.cs
- XamlGridLengthSerializer.cs
- ValuePattern.cs
- Typography.cs
- SessionState.cs
- QuadraticBezierSegment.cs
- LineBreak.cs
- BasePropertyDescriptor.cs
- OleDbMetaDataFactory.cs
- OutputScope.cs
- FormViewPagerRow.cs
- DataGridItem.cs
- SharedPersonalizationStateInfo.cs
- GridEntryCollection.cs
- DataShape.cs
- CopyOnWriteList.cs
- SecurityPolicySection.cs
- InternalConfigEventArgs.cs
- ReaderWriterLockWrapper.cs
- SvcMapFileSerializer.cs
- Debug.cs
- String.cs
- SortableBindingList.cs
- KoreanCalendar.cs
- FlowStep.cs
- CompletedAsyncResult.cs
- PropertyReferenceSerializer.cs
- wgx_commands.cs
- unsafenativemethodstextservices.cs
- ObjRef.cs
- Rules.cs
- Resources.Designer.cs
- IsolationInterop.cs
- SqlTrackingQuery.cs
- AuthorizationRuleCollection.cs
- BinaryObjectInfo.cs
- SymmetricSecurityProtocol.cs
- DefaultValueConverter.cs
- ClientFormsIdentity.cs
- InputScopeAttribute.cs
- NamedPermissionSet.cs
- WebConfigurationHostFileChange.cs
- DataGridViewRowsAddedEventArgs.cs
- PrefixHandle.cs
- SchemaEntity.cs
- ObjectItemConventionAssemblyLoader.cs
- FlagsAttribute.cs
- HtmlButton.cs
- HMACRIPEMD160.cs
- mediapermission.cs
- EventLogPermissionEntryCollection.cs
- ApplicationFileCodeDomTreeGenerator.cs
- RefreshPropertiesAttribute.cs
- FixedSOMFixedBlock.cs
- ServiceInfoCollection.cs
- PolicyException.cs
- ForEach.cs
- ComponentResourceKey.cs
- AccessKeyManager.cs
- ContextStack.cs
- ArrangedElement.cs
- iisPickupDirectory.cs
- ObfuscationAttribute.cs
- SettingsSavedEventArgs.cs
- CompressStream.cs
- PopOutPanel.cs