Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / 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();
}
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CreateUserWizardDesigner.cs
- TaiwanCalendar.cs
- CustomAttributeFormatException.cs
- ReadOnlyDictionary.cs
- ReadOnlyDataSourceView.cs
- SrgsElementFactoryCompiler.cs
- SafeBuffer.cs
- OracleInternalConnection.cs
- TableItemStyle.cs
- OdbcPermission.cs
- BackEase.cs
- NegationPusher.cs
- UInt32.cs
- PlanCompiler.cs
- TreeNode.cs
- webclient.cs
- Vector3DCollectionConverter.cs
- ValueQuery.cs
- HandlerBase.cs
- PtsContext.cs
- AttributeUsageAttribute.cs
- QueryContinueDragEvent.cs
- SimpleRecyclingCache.cs
- BinHexEncoder.cs
- ELinqQueryState.cs
- TemplateField.cs
- OutputCacheEntry.cs
- FontWeightConverter.cs
- UrlPropertyAttribute.cs
- TouchFrameEventArgs.cs
- Splitter.cs
- StyleCollection.cs
- EntityDataSourceContainerNameConverter.cs
- MeasurementDCInfo.cs
- DesignerDataStoredProcedure.cs
- Utilities.cs
- DataGridViewCellConverter.cs
- NativeMethods.cs
- ContainerControl.cs
- SelectedCellsChangedEventArgs.cs
- InputProcessorProfilesLoader.cs
- CreateDataSourceDialog.cs
- PropertyTabAttribute.cs
- CustomAttribute.cs
- ConfigurationException.cs
- Compiler.cs
- SQLGuidStorage.cs
- TraceContextRecord.cs
- RootBuilder.cs
- EncryptedPackageFilter.cs
- WindowsAuthenticationEventArgs.cs
- ButtonAutomationPeer.cs
- BuilderInfo.cs
- DbException.cs
- AutoGeneratedField.cs
- FormsIdentity.cs
- DriveInfo.cs
- SmiGettersStream.cs
- SessionStateItemCollection.cs
- TypedReference.cs
- GeometryGroup.cs
- VectorAnimationBase.cs
- Converter.cs
- HostingPreferredMapPath.cs
- XslException.cs
- ApplicationProxyInternal.cs
- ShapingWorkspace.cs
- HttpWebRequest.cs
- SpeechEvent.cs
- UnsignedPublishLicense.cs
- FilteredDataSetHelper.cs
- MediaContext.cs
- Rectangle.cs
- SocketAddress.cs
- TransactionFlowBindingElementImporter.cs
- AutoGeneratedField.cs
- HttpModuleActionCollection.cs
- Message.cs
- TemplateComponentConnector.cs
- PropertyMetadata.cs
- ToolStripControlHost.cs
- PaintValueEventArgs.cs
- BitmapCodecInfoInternal.cs
- LicenseException.cs
- TreeView.cs
- Operand.cs
- ParentQuery.cs
- HttpHeaderCollection.cs
- SqlLiftIndependentRowExpressions.cs
- SystemIPAddressInformation.cs
- ClickablePoint.cs
- StrokeNode.cs
- ConstNode.cs
- MulticastDelegate.cs
- SequenceRange.cs
- SimpleWebHandlerParser.cs
- KnownTypesProvider.cs
- LoginDesignerUtil.cs
- UInt64Converter.cs
- Triplet.cs