1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131
|
//------------------------------------------------------------------------------
// <copyright file="RegexCompilationInfo.cs" company="Microsoft">
// Copyright (c) Microsoft Corporation. All rights reserved.
// </copyright>
//------------------------------------------------------------------------------
#if !SILVERLIGHT
using System;
using System.Runtime.Serialization;
using System.Runtime.Versioning;
namespace System.Text.RegularExpressions {
/// <devdoc>
/// <para>
/// [To be supplied]
/// </para>
/// </devdoc>
[ 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;
}
/// <devdoc>
/// <para>
/// [To be supplied]
/// </para>
/// </devdoc>
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;
}
/// <devdoc>
/// <para>
/// [To be supplied]
/// </para>
/// </devdoc>
public String Pattern {
get { return pattern; }
set {
if (value == null)
throw new ArgumentNullException("value");
pattern = value;
}
}
/// <devdoc>
/// <para>
/// [To be supplied]
/// </para>
/// </devdoc>
public RegexOptions Options {
get { return options; }
set { options = value;}
}
/// <devdoc>
/// <para>
/// [To be supplied]
/// </para>
/// </devdoc>
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;
}
}
/// <devdoc>
/// <para>
/// [To be supplied]
/// </para>
/// </devdoc>
public String Namespace {
get { return nspace; }
set {
if (value == null)
throw new ArgumentNullException("value");
nspace = value;
}
}
/// <devdoc>
/// <para>
/// [To be supplied]
/// </para>
/// </devdoc>
public bool IsPublic {
get { return isPublic; }
set { isPublic = value;}
}
public TimeSpan MatchTimeout {
get { return matchTimeout; }
set { Regex.ValidateMatchTimeout(value); matchTimeout = value; }
}
}
}
#endif
|