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
- NamedPipeProcessProtocolHandler.cs
- WebZone.cs
- ContentOperations.cs
- SafeCancelMibChangeNotify.cs
- MetabaseSettings.cs
- IntegerValidatorAttribute.cs
- OutputScope.cs
- MailFileEditor.cs
- MetabaseReader.cs
- VerticalConnector.xaml.cs
- CategoryGridEntry.cs
- EmptyReadOnlyDictionaryInternal.cs
- SHA384Managed.cs
- ParseHttpDate.cs
- RegistrySecurity.cs
- XmlSerializationReader.cs
- SafeFileMappingHandle.cs
- FormViewUpdatedEventArgs.cs
- unsafeIndexingFilterStream.cs
- Hashtable.cs
- SerializableAttribute.cs
- BinaryFormatter.cs
- RuleSettingsCollection.cs
- ConditionalBranch.cs
- HtmlControlPersistable.cs
- EntityProviderServices.cs
- TraceListeners.cs
- CharEntityEncoderFallback.cs
- RpcCryptoRequest.cs
- TraceLog.cs
- UInt32.cs
- HttpProfileBase.cs
- SystemNetHelpers.cs
- XmlHierarchicalEnumerable.cs
- NonSerializedAttribute.cs
- AssemblyNameProxy.cs
- WorkflowService.cs
- FileIOPermission.cs
- SoapIgnoreAttribute.cs
- DataRowView.cs
- XmlSchemaInfo.cs
- ScriptManager.cs
- WindowPatternIdentifiers.cs
- SizeAnimationClockResource.cs
- NumberFormatter.cs
- ColumnHeaderConverter.cs
- MetadataSource.cs
- CapabilitiesAssignment.cs
- MarshalDirectiveException.cs
- keycontainerpermission.cs
- WindowsFormsSectionHandler.cs
- GACIdentityPermission.cs
- SynchronizedDispatch.cs
- OptimalTextSource.cs
- BooleanFunctions.cs
- CuspData.cs
- CompilerWrapper.cs
- CryptoConfig.cs
- ReadOnlyNameValueCollection.cs
- XmlSerializer.cs
- Viewport3DAutomationPeer.cs
- WindowVisualStateTracker.cs
- Odbc32.cs
- StrokeDescriptor.cs
- Helpers.cs
- ManagementObject.cs
- MetadataUtilsSmi.cs
- ParameterCollection.cs
- UnaryNode.cs
- FunctionCommandText.cs
- DirectoryRootQuery.cs
- DateRangeEvent.cs
- TemplatePartAttribute.cs
- ObjectItemCollection.cs
- ConfigXmlElement.cs
- TableLayoutSettings.cs
- ProcessProtocolHandler.cs
- QueryStringParameter.cs
- ChangePassword.cs
- Gdiplus.cs
- PagesSection.cs
- AnnotationService.cs
- FusionWrap.cs
- TripleDES.cs
- KoreanCalendar.cs
- CodeAttributeArgument.cs
- CannotUnloadAppDomainException.cs
- CorrelationManager.cs
- PeerChannelFactory.cs
- Internal.cs
- _SslState.cs
- DisposableCollectionWrapper.cs
- TimeoutValidationAttribute.cs
- DataStreamFromComStream.cs
- Button.cs
- DataGridViewTopLeftHeaderCell.cs
- ContentType.cs
- DbDataAdapter.cs
- ResourceCategoryAttribute.cs
- MessagePropertyFilter.cs