Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / Regex / System / Text / RegularExpressions / CompiledRegexRunnerFactory.cs / 1 / CompiledRegexRunnerFactory.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- using System.Reflection.Emit; using System.Diagnostics; using System.Security.Permissions; 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(); } // 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; 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(); } // 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
- ComPlusInstanceContextInitializer.cs
- ValueSerializerAttribute.cs
- ContentValidator.cs
- SelectionWordBreaker.cs
- DataListComponentEditor.cs
- HtmlInputPassword.cs
- HtmlInputText.cs
- AQNBuilder.cs
- DataGridViewComboBoxCell.cs
- MsmqTransportReceiveParameters.cs
- DetailsViewDeleteEventArgs.cs
- WindowsToolbarAsMenu.cs
- AggregationMinMaxHelpers.cs
- XmlSchemaValidationException.cs
- WindowsPrincipal.cs
- HostedController.cs
- QilInvokeLateBound.cs
- ProgressBar.cs
- WeakRefEnumerator.cs
- PointAnimationUsingPath.cs
- DummyDataSource.cs
- SigningCredentials.cs
- ComponentEvent.cs
- InfoCardTraceRecord.cs
- typedescriptorpermission.cs
- ResourceDescriptionAttribute.cs
- UnSafeCharBuffer.cs
- ListViewGroup.cs
- HitTestParameters.cs
- XmlSchemaSimpleContent.cs
- XPathPatternParser.cs
- XmlSchemaCollection.cs
- ParameterDataSourceExpression.cs
- CanExecuteRoutedEventArgs.cs
- HttpConfigurationSystem.cs
- WebExceptionStatus.cs
- ObjectDataSourceMethodEventArgs.cs
- RuntimeConfig.cs
- PublisherIdentityPermission.cs
- HtmlPanelAdapter.cs
- VectorKeyFrameCollection.cs
- SchemaMapping.cs
- EntityDataSourceConfigureObjectContext.cs
- ConstructorBuilder.cs
- DiscoveryInnerClientAdhocCD1.cs
- Pair.cs
- QueryCursorEventArgs.cs
- ArglessEventHandlerProxy.cs
- EntityDataSourceState.cs
- FloatSumAggregationOperator.cs
- Funcletizer.cs
- BinaryFormatterWriter.cs
- ArraySegment.cs
- DataKey.cs
- CustomErrorsSection.cs
- WebBrowserNavigatingEventHandler.cs
- TextEditorContextMenu.cs
- IsolatedStorage.cs
- SrgsElementFactoryCompiler.cs
- cache.cs
- SecUtil.cs
- CollectionBase.cs
- RelatedEnd.cs
- TextServicesContext.cs
- objectquery_tresulttype.cs
- XmlAnyElementAttribute.cs
- ObjectDataSourceChooseTypePanel.cs
- XsdBuildProvider.cs
- NativeMethods.cs
- Normalization.cs
- RefType.cs
- UInt32Converter.cs
- COM2EnumConverter.cs
- SymmetricKeyWrap.cs
- State.cs
- Splitter.cs
- ResourceWriter.cs
- Expression.cs
- BrowserCapabilitiesFactoryBase.cs
- MimeBasePart.cs
- TextServicesCompartment.cs
- AtomServiceDocumentSerializer.cs
- SqlMetaData.cs
- MetadataWorkspace.cs
- SecurityTokenInclusionMode.cs
- RightsManagementEncryptionTransform.cs
- StatusBarItemAutomationPeer.cs
- SecurityElement.cs
- XmlCollation.cs
- GestureRecognizer.cs
- ValueSerializer.cs
- EqualityComparer.cs
- IPPacketInformation.cs
- ClientType.cs
- TypedDataSetSchemaImporterExtensionFx35.cs
- Line.cs
- ArrayTypeMismatchException.cs
- MembershipValidatePasswordEventArgs.cs
- TracedNativeMethods.cs
- ViewManager.cs