Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Regex / System / Text / RegularExpressions / RegexGroup.cs / 1305376 / RegexGroup.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- // Group represents the substring or substrings that // are captured by a single capturing group after one // regular expression match. namespace System.Text.RegularExpressions { using System.Security.Permissions; ////// Group /// represents the results from a single capturing group. A capturing group can /// capture zero, one, or more strings in a single match because of quantifiers, so /// Group supplies a collection of Capture objects. /// #if !SILVERLIGHT [ Serializable() ] #endif public class Group : Capture { // the empty group object internal static Group _emptygroup = new Group(String.Empty, new int[0], 0); internal int[] _caps; internal int _capcount; internal CaptureCollection _capcoll; internal Group(String text, int[] caps, int capcount) : base(text, capcount == 0 ? 0 : caps[(capcount - 1) * 2], capcount == 0 ? 0 : caps[(capcount * 2) - 1]) { _caps = caps; _capcount = capcount; } /* * True if the match was successful */ ////// public bool Success { get { return _capcount != 0; } } /* * The collection of all captures for this group */ ///Indicates whether the match is successful. ////// public CaptureCollection Captures { get { if (_capcoll == null) _capcoll = new CaptureCollection(this); return _capcoll; } } /* * Convert to a thread-safe object by precomputing cache contents */ ////// Returns a collection of all the captures matched by the capturing /// group, in innermost-leftmost-first order (or innermost-rightmost-first order if /// compiled with the "r" option). The collection may have zero or more items. /// ////// #if !SILVERLIGHT [HostProtection(Synchronization=true)] static public Group Synchronized(Group inner) { #else static internal Group Synchronized(Group inner) { #endif if (inner == null) throw new ArgumentNullException("inner"); // force Captures to be computed. CaptureCollection capcoll; Capture dummy; capcoll = inner.Captures; if (inner._capcount > 0) dummy = capcoll[0]; return inner; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //Returns /// a Group object equivalent to the one supplied that is safe to share between /// multiple threads. ///// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- // Group represents the substring or substrings that // are captured by a single capturing group after one // regular expression match. namespace System.Text.RegularExpressions { using System.Security.Permissions; ////// Group /// represents the results from a single capturing group. A capturing group can /// capture zero, one, or more strings in a single match because of quantifiers, so /// Group supplies a collection of Capture objects. /// #if !SILVERLIGHT [ Serializable() ] #endif public class Group : Capture { // the empty group object internal static Group _emptygroup = new Group(String.Empty, new int[0], 0); internal int[] _caps; internal int _capcount; internal CaptureCollection _capcoll; internal Group(String text, int[] caps, int capcount) : base(text, capcount == 0 ? 0 : caps[(capcount - 1) * 2], capcount == 0 ? 0 : caps[(capcount * 2) - 1]) { _caps = caps; _capcount = capcount; } /* * True if the match was successful */ ////// public bool Success { get { return _capcount != 0; } } /* * The collection of all captures for this group */ ///Indicates whether the match is successful. ////// public CaptureCollection Captures { get { if (_capcoll == null) _capcoll = new CaptureCollection(this); return _capcoll; } } /* * Convert to a thread-safe object by precomputing cache contents */ ////// Returns a collection of all the captures matched by the capturing /// group, in innermost-leftmost-first order (or innermost-rightmost-first order if /// compiled with the "r" option). The collection may have zero or more items. /// ////// #if !SILVERLIGHT [HostProtection(Synchronization=true)] static public Group Synchronized(Group inner) { #else static internal Group Synchronized(Group inner) { #endif if (inner == null) throw new ArgumentNullException("inner"); // force Captures to be computed. CaptureCollection capcoll; Capture dummy; capcoll = inner.Captures; if (inner._capcount > 0) dummy = capcoll[0]; return inner; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.Returns /// a Group object equivalent to the one supplied that is safe to share between /// multiple threads. ///
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DecimalConverter.cs
- XmlSchemaObjectCollection.cs
- _IPv4Address.cs
- ApplicationCommands.cs
- ControlParameter.cs
- IntegerValidator.cs
- HtmlToClrEventProxy.cs
- GenericTextProperties.cs
- FunctionNode.cs
- GenericAuthenticationEventArgs.cs
- PathGradientBrush.cs
- __Filters.cs
- DesignerRegionCollection.cs
- URLAttribute.cs
- MailBnfHelper.cs
- XmlQualifiedName.cs
- ConfigXmlReader.cs
- AutomationProperties.cs
- HuffModule.cs
- DbBuffer.cs
- WindowsUserNameSecurityTokenAuthenticator.cs
- OutputCacheSettingsSection.cs
- TypeConverter.cs
- ConfigXmlComment.cs
- AbandonedMutexException.cs
- DependencyPropertyHelper.cs
- FSWPathEditor.cs
- TraceListener.cs
- Drawing.cs
- ReadOnlyHierarchicalDataSourceView.cs
- CodeSpit.cs
- HMACMD5.cs
- VariantWrapper.cs
- PartialTrustValidationBehavior.cs
- ReadOnlyDataSourceView.cs
- PersistenceTypeAttribute.cs
- InertiaTranslationBehavior.cs
- ActivityXamlServices.cs
- CollectionEditVerbManager.cs
- ThicknessConverter.cs
- StyleBamlRecordReader.cs
- HelpInfo.cs
- EventLogQuery.cs
- ObjectComplexPropertyMapping.cs
- SplineQuaternionKeyFrame.cs
- SqlTriggerAttribute.cs
- BorderGapMaskConverter.cs
- FormViewInsertEventArgs.cs
- IisTraceWebEventProvider.cs
- PropertyEmitterBase.cs
- ObjectDataSourceEventArgs.cs
- ShimAsPublicXamlType.cs
- ObjectMaterializedEventArgs.cs
- ScrollEvent.cs
- DataGridViewColumnHeaderCell.cs
- UnionCodeGroup.cs
- CodeObject.cs
- DPCustomTypeDescriptor.cs
- CaseExpr.cs
- ProcessHostServerConfig.cs
- PointAnimationClockResource.cs
- GlyphsSerializer.cs
- TraceContext.cs
- Trace.cs
- DataGridViewCellStyleConverter.cs
- LoadMessageLogger.cs
- WebPartTransformerCollection.cs
- StringToken.cs
- RijndaelManagedTransform.cs
- SqlRowUpdatingEvent.cs
- Win32Exception.cs
- CheckBox.cs
- InternalPermissions.cs
- ButtonStandardAdapter.cs
- RegistryExceptionHelper.cs
- DBCommandBuilder.cs
- x509utils.cs
- FontFamily.cs
- AnimationLayer.cs
- WebConfigurationFileMap.cs
- SecurityUtils.cs
- SpecularMaterial.cs
- WindowsListViewItem.cs
- TextTreeNode.cs
- XmlJsonWriter.cs
- UpdateCompiler.cs
- Utils.cs
- SudsParser.cs
- PaginationProgressEventArgs.cs
- ExpressionWriter.cs
- Permission.cs
- MetadataFile.cs
- SmiContextFactory.cs
- CaseInsensitiveOrdinalStringComparer.cs
- PeerResolverMode.cs
- UIPermission.cs
- xsdvalidator.cs
- ConstructorBuilder.cs
- ProfileSection.cs
- DeleteIndexBinder.cs