﻿// Decompiled with JetBrains decompiler
// Type: System.Text.RegularExpressions.RegexRunnerFactory
// Assembly: System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
// MVID: 5ABD58FD-DF31-44FD-A492-63F2B47CC9AF
// Assembly location: C:\Windows\Microsoft.NET\Framework\v4.0.30319\System.dll

using System.ComponentModel;
using System.Runtime;

namespace System.Text.RegularExpressions
{
  /// <summary>
  /// Creates a <see cref="T:System.Text.RegularExpressions.RegexRunner"/> class for a compiled regular expression.
  /// </summary>
  [EditorBrowsable(EditorBrowsableState.Never)]
  public abstract class RegexRunnerFactory
  {
    /// <summary>
    /// Initializes a new instance of the <see cref="T:System.Text.RegularExpressions.RegexRunnerFactory"/> class.
    /// </summary>
    [TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]
    protected RegexRunnerFactory()
    {
    }

    /// <summary>
    /// When overridden in a derived class, creates a <see cref="T:System.Text.RegularExpressions.RegexRunner"/> object for a specific compiled regular expression.
    /// </summary>
    /// 
    /// <returns>
    /// A <see cref="T:System.Text.RegularExpressions.RegexRunner"/> object designed to execute a specific compiled regular expression.
    /// </returns>
    protected internal abstract RegexRunner CreateInstance();
  }
}
