Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Regex / System / Text / RegularExpressions / CompiledRegexRunnerFactory.cs / 1305376 / CompiledRegexRunnerFactory.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- using System.Reflection.Emit; using System.Diagnostics; using System.Security.Permissions; #if !SILVERLIGHT namespace System.Text.RegularExpressions { internal sealed class CompiledRegexRunnerFactory : RegexRunnerFactory { DynamicMethod goMethod; DynamicMethod findFirstCharMethod; DynamicMethod initTrackCountMethod; internal CompiledRegexRunnerFactory (DynamicMethod go, DynamicMethod firstChar, DynamicMethod trackCount) { this.goMethod = go; this.findFirstCharMethod = firstChar; this.initTrackCountMethod = trackCount; //Debug.Assert(goMethod != null && findFirstCharMethod != null && initTrackCountMethod != null, "can't be null"); } protected internal override RegexRunner CreateInstance() { CompiledRegexRunner runner = new CompiledRegexRunner(); new ReflectionPermission(PermissionState.Unrestricted).Assert(); runner.SetDelegates((NoParamDelegate) goMethod.CreateDelegate(typeof(NoParamDelegate)), (FindFirstCharDelegate) findFirstCharMethod.CreateDelegate(typeof(FindFirstCharDelegate)), (NoParamDelegate) initTrackCountMethod.CreateDelegate(typeof(NoParamDelegate))); return runner; } } internal delegate RegexRunner CreateInstanceDelegate(); } #endif // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- using System.Reflection.Emit; using System.Diagnostics; using System.Security.Permissions; #if !SILVERLIGHT namespace System.Text.RegularExpressions { internal sealed class CompiledRegexRunnerFactory : RegexRunnerFactory { DynamicMethod goMethod; DynamicMethod findFirstCharMethod; DynamicMethod initTrackCountMethod; internal CompiledRegexRunnerFactory (DynamicMethod go, DynamicMethod firstChar, DynamicMethod trackCount) { this.goMethod = go; this.findFirstCharMethod = firstChar; this.initTrackCountMethod = trackCount; //Debug.Assert(goMethod != null && findFirstCharMethod != null && initTrackCountMethod != null, "can't be null"); } protected internal override RegexRunner CreateInstance() { CompiledRegexRunner runner = new CompiledRegexRunner(); new ReflectionPermission(PermissionState.Unrestricted).Assert(); runner.SetDelegates((NoParamDelegate) goMethod.CreateDelegate(typeof(NoParamDelegate)), (FindFirstCharDelegate) findFirstCharMethod.CreateDelegate(typeof(FindFirstCharDelegate)), (NoParamDelegate) initTrackCountMethod.CreateDelegate(typeof(NoParamDelegate))); return runner; } } internal delegate RegexRunner CreateInstanceDelegate(); } #endif // 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
- Cursor.cs
- LineGeometry.cs
- ConfigurationStrings.cs
- ObjectViewFactory.cs
- RoleService.cs
- OLEDB_Enum.cs
- FrameworkPropertyMetadata.cs
- DatePickerDateValidationErrorEventArgs.cs
- PartialTrustVisibleAssembly.cs
- RelAssertionDirectKeyIdentifierClause.cs
- NetworkInterface.cs
- FormatException.cs
- OutputCacheProfile.cs
- FormViewInsertedEventArgs.cs
- XmlCharacterData.cs
- NestedContainer.cs
- ThreadAbortException.cs
- XmlSchemaParticle.cs
- MultiBinding.cs
- ProcessHostFactoryHelper.cs
- DataContractJsonSerializerOperationFormatter.cs
- NetworkStream.cs
- DataRelationCollection.cs
- SafePointer.cs
- ForeignKeyConstraint.cs
- StringCollectionMarkupSerializer.cs
- Touch.cs
- Main.cs
- ADMembershipProvider.cs
- GridProviderWrapper.cs
- Function.cs
- OutputCacheSettingsSection.cs
- AttributeQuery.cs
- HttpPostProtocolReflector.cs
- PriorityItem.cs
- NeedSkipTokenVisitor.cs
- DocumentReference.cs
- SapiGrammar.cs
- unsafenativemethodstextservices.cs
- WCFServiceClientProxyGenerator.cs
- ColumnMap.cs
- StandardRuntimeEnumValidatorAttribute.cs
- ScrollItemProviderWrapper.cs
- MenuItemBindingCollection.cs
- HebrewCalendar.cs
- KerberosTicketHashIdentifierClause.cs
- MediaTimeline.cs
- Activity.cs
- Statements.cs
- HtmlControlDesigner.cs
- SerialPinChanges.cs
- MachineKeySection.cs
- EncodingDataItem.cs
- NoneExcludedImageIndexConverter.cs
- ImportRequest.cs
- ThaiBuddhistCalendar.cs
- DataObjectAttribute.cs
- SurrogateEncoder.cs
- SerializerWriterEventHandlers.cs
- ReadOnlyDataSourceView.cs
- XmlReflectionImporter.cs
- BamlResourceContent.cs
- HttpCachePolicy.cs
- HttpApplication.cs
- TdsParserStateObject.cs
- QueryParameter.cs
- EntityContainerAssociationSet.cs
- MachineKeyValidationConverter.cs
- VisualStyleRenderer.cs
- X509CertificateInitiatorClientCredential.cs
- OleDbPermission.cs
- XsdCachingReader.cs
- SR.cs
- SqlMethodCallConverter.cs
- SafeRightsManagementEnvironmentHandle.cs
- XPathSelfQuery.cs
- UriSection.cs
- DesignerActionTextItem.cs
- Profiler.cs
- Sorting.cs
- BuildProvidersCompiler.cs
- ListViewHitTestInfo.cs
- ViewStateModeByIdAttribute.cs
- SQLSingle.cs
- StringPropertyBuilder.cs
- _emptywebproxy.cs
- Int64.cs
- TrackBarRenderer.cs
- IPAddress.cs
- ObjectDataSourceSelectingEventArgs.cs
- MembershipAdapter.cs
- PasswordTextNavigator.cs
- ActivationArguments.cs
- X509ChainElement.cs
- ArrayEditor.cs
- Stylesheet.cs
- SystemIcons.cs
- BitmapImage.cs
- SqlInfoMessageEvent.cs
- ObjectDataSourceDesigner.cs