//------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //------------------------------------------------------------------------------ #if !SILVERLIGHT using System; using System.Runtime.Serialization; using System.Runtime.Versioning; namespace System.Text.RegularExpressions { /// /// /// [To be supplied] /// /// [ Serializable() ] public class RegexCompilationInfo { private String pattern; private RegexOptions options; private String name; private String nspace; private bool isPublic; [OptionalField(VersionAdded = 2)] private TimeSpan matchTimeout; [OnDeserializing] private void InitMatchTimeoutDefaultForOldVersionDeserialization(StreamingContext unusedContext) { matchTimeout = Regex.DefaultMatchTimeout; } /// /// /// [To be supplied] /// /// public RegexCompilationInfo(String pattern, RegexOptions options, String name, String fullnamespace, bool ispublic) : this(pattern, options, name, fullnamespace, ispublic, Regex.DefaultMatchTimeout) { } public RegexCompilationInfo(String pattern, RegexOptions options, String name, String fullnamespace, bool ispublic, TimeSpan matchTimeout) { Pattern = pattern; Name = name; Namespace = fullnamespace; this.options = options; isPublic = ispublic; MatchTimeout = matchTimeout; } /// /// /// [To be supplied] /// /// public String Pattern { get { return pattern; } set { if (value == null) throw new ArgumentNullException("value"); pattern = value; } } /// /// /// [To be supplied] /// /// public RegexOptions Options { get { return options; } set { options = value;} } /// /// /// [To be supplied] /// /// public String Name { get { return name; } set { if (value == null) { throw new ArgumentNullException("value"); } if (value.Length == 0) { throw new ArgumentException(SR.GetString(SR.InvalidNullEmptyArgument, "value"), "value"); } name = value; } } /// /// /// [To be supplied] /// /// public String Namespace { get { return nspace; } set { if (value == null) throw new ArgumentNullException("value"); nspace = value; } } /// /// /// [To be supplied] /// /// public bool IsPublic { get { return isPublic; } set { isPublic = value;} } public TimeSpan MatchTimeout { get { return matchTimeout; } set { Regex.ValidateMatchTimeout(value); matchTimeout = value; } } } } #endif