Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Net / System / Net / Mail / MailBnfHelper.cs / 1305376 / MailBnfHelper.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Net.Mime
{
using System;
using System.Text;
using System.Net.Mail;
using System.Globalization;
using System.Collections.Generic;
internal static class MailBnfHelper
{
// characters allowed in atoms
internal static bool[] Atext = new bool[128];
// characters allowed in quoted strings (not including unicode)
internal static bool[] Qtext = new bool[128];
// characters allowed in domain literals
internal static bool[] Dtext = new bool[128];
// characters allowed in header names
internal static bool[] Ftext = new bool[128];
// characters allowed in tokens
internal static bool[] Ttext = new bool[128];
// characters allowed inside of comments
internal static bool[] Ctext = new bool[128];
internal static readonly int Ascii7bitMaxValue = 127;
internal static readonly char Quote = '\"';
internal static readonly char Space = ' ';
internal static readonly char Tab = '\t';
internal static readonly char CR = '\r';
internal static readonly char LF = '\n';
internal static readonly char StartComment = '(';
internal static readonly char EndComment = ')';
internal static readonly char Backslash = '\\';
internal static readonly char At = '@';
internal static readonly char EndAngleBracket = '>';
internal static readonly char StartAngleBracket = '<';
internal static readonly char StartSquareBracket = '[';
internal static readonly char EndSquareBracket = ']';
internal static readonly char Comma = ',';
internal static readonly char Dot = '.';
internal static readonly IList Whitespace;
static MailBnfHelper()
{
// NOTE: all of the specs outlined here are defined in "MailBNF.cs" as to what they are
// and what they mean. They are defined in RFC 2822 in more detail. By default, every
// value in the array is false and only those values which are allowed in that particular set
// are then set to true. The numbers annotating each definition below are the range of ASCII
// values which are allowed in that definition.
// all allowed whitespace characters
Whitespace = new List();
Whitespace.Add(Tab);
Whitespace.Add(Space);
Whitespace.Add(CR);
Whitespace.Add(LF);
// atext = ALPHA / DIGIT / "!" / "#" / "$" / "%" / "&" / "'" / "*" / "+" / "-" / "/" / "=" / "?" / "^" / "_" / "`" / "{" / "|" / "}" / "~"
for (int i = '0'; i <= '9'; i++) { Atext[i] = true; }
for (int i = 'A'; i <= 'Z'; i++) { Atext[i] = true; }
for (int i = 'a'; i <= 'z'; i++) { Atext[i] = true; }
Atext['!'] = true;
Atext['#'] = true;
Atext['$'] = true;
Atext['%'] = true;
Atext['&'] = true;
Atext['\''] = true;
Atext['*'] = true;
Atext['+'] = true;
Atext['-'] = true;
Atext['/'] = true;
Atext['='] = true;
Atext['?'] = true;
Atext['^'] = true;
Atext['_'] = true;
Atext['`'] = true;
Atext['{'] = true;
Atext['|'] = true;
Atext['}'] = true;
Atext['~'] = true;
// fqtext = %d1-9 / %d11 / %d12 / %d14-33 / %d35-91 / %d93-127
for (int i = 1; i <= 9; i++) { Qtext[i] = true; }
Qtext[11] = true;
Qtext[12] = true;
for (int i = 14; i <= 33; i++) { Qtext[i] = true; }
for (int i = 35; i <= 91; i++) { Qtext[i] = true; }
for (int i = 93; i <= 127; i++) { Qtext[i] = true; }
// fdtext = %d1-8 / %d11 / %d12 / %d14-31 / %d33-90 / %d94-127
for (int i = 1; i <= 8; i++) { Dtext[i] = true; }
Dtext[11] = true;
Dtext[12] = true;
for (int i = 14; i <= 31; i++) { Dtext[i] = true; }
for (int i = 33; i <= 90; i++) { Dtext[i] = true; }
for (int i = 94; i <= 127; i++) { Dtext[i] = true; }
// ftext = %d33-57 / %d59-126
for (int i = 33; i <= 57; i++) { Ftext[i] = true; }
for (int i = 59; i <= 126; i++) { Ftext[i] = true; }
// ttext = %d33-126 except '()<>@,;:\"/[]?='
for (int i = 33; i <= 126; i++) { Ttext[i] = true; }
Ttext['('] = false;
Ttext[')'] = false;
Ttext['<'] = false;
Ttext['>'] = false;
Ttext['@'] = false;
Ttext[','] = false;
Ttext[';'] = false;
Ttext[':'] = false;
Ttext['\\'] = false;
Ttext['"'] = false;
Ttext['/'] = false;
Ttext['['] = false;
Ttext[']'] = false;
Ttext['?'] = false;
Ttext['='] = false;
// ctext- %d1-8 / %d11 / %d12 / %d14-31 / %33-39 / %42-91 / %93-127
for (int i = 1; i <= 8; i++) { Ctext[i] = true; }
Ctext[11] = true;
Ctext[12] = true;
for (int i = 14; i <= 31; i++) { Ctext[i] = true; }
for (int i = 33; i <= 39; i++) { Ctext[i] = true; }
for (int i = 42; i <= 91; i++) { Ctext[i] = true; }
for (int i = 93; i <= 127; i++) { Ctext[i] = true; }
}
internal static bool SkipCFWS(string data, ref int offset)
{
int comments = 0;
for (;offset < data.Length ;offset++)
{
if (data[offset] > 127)
throw new FormatException(SR.GetString(SR.MailHeaderFieldInvalidCharacter, data[offset]));
else if (data[offset] == '\\' && comments > 0)
offset += 2;
else if (data[offset] == '(')
comments++;
else if (data[offset] == ')')
comments--;
else if (data[offset] != ' ' && data[offset] != '\t' && comments == 0)
return true;
if (comments < 0) {
throw new FormatException(SR.GetString(SR.MailHeaderFieldInvalidCharacter, data[offset]));
}
}
//returns false if end of string
return false;
}
internal static void ValidateHeaderName(string data){
int offset = 0;
for (; offset < data.Length; offset++)
{
if (data[offset] > Ftext.Length || !Ftext[data[offset]])
throw new FormatException(SR.GetString(SR.InvalidHeaderName));
}
if (offset == 0)
throw new FormatException(SR.GetString(SR.InvalidHeaderName));
}
internal static string ReadQuotedString(string data, ref int offset, StringBuilder builder){
return ReadQuotedString(data, ref offset, builder, false, false);
}
internal static string ReadQuotedString(string data, ref int offset, StringBuilder builder, bool doesntRequireQuotes, bool permitUnicodeInDisplayName)
{
// assume first char is the opening quote
if(!doesntRequireQuotes){
++offset;
}
int start = offset;
StringBuilder localBuilder = (builder != null ? builder : new StringBuilder());
for (; offset < data.Length; offset++)
{
if (data[offset] == '\\')
{
localBuilder.Append(data, start, offset - start);
start = ++offset;
}
else if (data[offset] == '"')
{
localBuilder.Append(data, start, offset - start);
offset++;
return (builder != null ? null : localBuilder.ToString());
}
else if (data[offset] == '=' &&
data.Length > offset + 3 &&
data[offset + 1] == '\r' &&
data[offset + 2] == '\n' &&
(data[offset + 3] == ' ' || data[offset + 3] == '\t'))
{
//it's a soft crlf so it's ok
offset += 3;
}
else if (permitUnicodeInDisplayName)
{
//if data contains unicode and unicode is permitted, then
//it is valid in a quoted string in a header.
if (data[offset] <= Ascii7bitMaxValue && !Qtext[data[offset]])
throw new FormatException(SR.GetString(SR.MailHeaderFieldInvalidCharacter, data[offset]));
}
//not permitting unicode, in which case unicode is a formatting error
else if (data[offset] > Ascii7bitMaxValue || !Qtext[data[offset]])
{
throw new FormatException(SR.GetString(SR.MailHeaderFieldInvalidCharacter, data[offset]));
}
}
if(doesntRequireQuotes){
localBuilder.Append(data, start, offset - start);
return (builder != null ? null : localBuilder.ToString());
}
throw new FormatException(SR.GetString(SR.MailHeaderFieldMalformedHeader));
}
internal static string ReadParameterAttribute(string data, ref int offset, StringBuilder builder)
{
if (!SkipCFWS(data, ref offset))
return null; //
return ReadToken(data, ref offset, null);
}
internal static string ReadToken(string data, ref int offset, StringBuilder builder)
{
int start = offset;
for (; offset < data.Length; offset++)
{
if (data[offset] > Ascii7bitMaxValue)
{
throw new FormatException(SR.GetString(SR.MailHeaderFieldInvalidCharacter, data[offset]));
}
else if (!Ttext[data[offset]])
{
break;
}
}
if (start == offset) {
throw new FormatException(SR.GetString(SR.MailHeaderFieldInvalidCharacter, data[offset]));
}
return data.Substring(start, offset - start);
}
static string[] s_months = new string[] { null, "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" };
internal static string GetDateTimeString(DateTime value, StringBuilder builder)
{
StringBuilder localBuilder = (builder != null ? builder : new StringBuilder());
localBuilder.Append(value.Day);
localBuilder.Append(' ');
localBuilder.Append(s_months[value.Month]);
localBuilder.Append(' ');
localBuilder.Append(value.Year);
localBuilder.Append(' ');
if (value.Hour <= 9) {
localBuilder.Append('0');
}
localBuilder.Append(value.Hour);
localBuilder.Append(':');
if (value.Minute <= 9) {
localBuilder.Append('0');
}
localBuilder.Append(value.Minute);
localBuilder.Append(':');
if (value.Second <= 9) {
localBuilder.Append('0');
}
localBuilder.Append(value.Second);
string offset = TimeZone.CurrentTimeZone.GetUtcOffset(value).ToString();
if (offset[0] != '-') {
localBuilder.Append(" +");
}
else {
localBuilder.Append(" ");
}
string[] offsetFields = offset.Split(':');
localBuilder.Append(offsetFields[0]);
localBuilder.Append(offsetFields[1]);
return (builder != null ? null : localBuilder.ToString());
}
internal static string GetTokenOrQuotedString(string data, StringBuilder builder)
{
int offset = 0, start = 0;
for (; offset < data.Length; offset++)
{
if (data[offset] > Ascii7bitMaxValue)
throw new FormatException(SR.GetString(SR.MailHeaderFieldInvalidCharacter, data[offset]));
if (!Ttext[data[offset]] || data[offset] == ' ')
{
StringBuilder localBuilder = (builder != null ? builder : new StringBuilder());
builder.Append('"');
for (; offset < data.Length; offset++)
{
if (data[offset] > Ascii7bitMaxValue)
{
throw new FormatException(SR.GetString(SR.MailHeaderFieldInvalidCharacter, data[offset]));
}
else if (!Qtext[data[offset]])
{
builder.Append(data, start, offset - start);
builder.Append('\\');
start = offset;
}
}
builder.Append(data, start, offset - start);
builder.Append('"');
return (builder != null ? null : localBuilder.ToString());
}
}
//always a quoted string if it was empty.
if(data.Length == 0){
if (builder != null) {
builder.Append("\"\"");
}
else{
return "\"\"";
}
}
if (builder != null)
{
builder.Append(data);
return null;
}
return data;
}
internal static bool HasCROrLF(string data){
for (int i=0;i
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Net.Mime
{
using System;
using System.Text;
using System.Net.Mail;
using System.Globalization;
using System.Collections.Generic;
internal static class MailBnfHelper
{
// characters allowed in atoms
internal static bool[] Atext = new bool[128];
// characters allowed in quoted strings (not including unicode)
internal static bool[] Qtext = new bool[128];
// characters allowed in domain literals
internal static bool[] Dtext = new bool[128];
// characters allowed in header names
internal static bool[] Ftext = new bool[128];
// characters allowed in tokens
internal static bool[] Ttext = new bool[128];
// characters allowed inside of comments
internal static bool[] Ctext = new bool[128];
internal static readonly int Ascii7bitMaxValue = 127;
internal static readonly char Quote = '\"';
internal static readonly char Space = ' ';
internal static readonly char Tab = '\t';
internal static readonly char CR = '\r';
internal static readonly char LF = '\n';
internal static readonly char StartComment = '(';
internal static readonly char EndComment = ')';
internal static readonly char Backslash = '\\';
internal static readonly char At = '@';
internal static readonly char EndAngleBracket = '>';
internal static readonly char StartAngleBracket = '<';
internal static readonly char StartSquareBracket = '[';
internal static readonly char EndSquareBracket = ']';
internal static readonly char Comma = ',';
internal static readonly char Dot = '.';
internal static readonly IList Whitespace;
static MailBnfHelper()
{
// NOTE: all of the specs outlined here are defined in "MailBNF.cs" as to what they are
// and what they mean. They are defined in RFC 2822 in more detail. By default, every
// value in the array is false and only those values which are allowed in that particular set
// are then set to true. The numbers annotating each definition below are the range of ASCII
// values which are allowed in that definition.
// all allowed whitespace characters
Whitespace = new List();
Whitespace.Add(Tab);
Whitespace.Add(Space);
Whitespace.Add(CR);
Whitespace.Add(LF);
// atext = ALPHA / DIGIT / "!" / "#" / "$" / "%" / "&" / "'" / "*" / "+" / "-" / "/" / "=" / "?" / "^" / "_" / "`" / "{" / "|" / "}" / "~"
for (int i = '0'; i <= '9'; i++) { Atext[i] = true; }
for (int i = 'A'; i <= 'Z'; i++) { Atext[i] = true; }
for (int i = 'a'; i <= 'z'; i++) { Atext[i] = true; }
Atext['!'] = true;
Atext['#'] = true;
Atext['$'] = true;
Atext['%'] = true;
Atext['&'] = true;
Atext['\''] = true;
Atext['*'] = true;
Atext['+'] = true;
Atext['-'] = true;
Atext['/'] = true;
Atext['='] = true;
Atext['?'] = true;
Atext['^'] = true;
Atext['_'] = true;
Atext['`'] = true;
Atext['{'] = true;
Atext['|'] = true;
Atext['}'] = true;
Atext['~'] = true;
// fqtext = %d1-9 / %d11 / %d12 / %d14-33 / %d35-91 / %d93-127
for (int i = 1; i <= 9; i++) { Qtext[i] = true; }
Qtext[11] = true;
Qtext[12] = true;
for (int i = 14; i <= 33; i++) { Qtext[i] = true; }
for (int i = 35; i <= 91; i++) { Qtext[i] = true; }
for (int i = 93; i <= 127; i++) { Qtext[i] = true; }
// fdtext = %d1-8 / %d11 / %d12 / %d14-31 / %d33-90 / %d94-127
for (int i = 1; i <= 8; i++) { Dtext[i] = true; }
Dtext[11] = true;
Dtext[12] = true;
for (int i = 14; i <= 31; i++) { Dtext[i] = true; }
for (int i = 33; i <= 90; i++) { Dtext[i] = true; }
for (int i = 94; i <= 127; i++) { Dtext[i] = true; }
// ftext = %d33-57 / %d59-126
for (int i = 33; i <= 57; i++) { Ftext[i] = true; }
for (int i = 59; i <= 126; i++) { Ftext[i] = true; }
// ttext = %d33-126 except '()<>@,;:\"/[]?='
for (int i = 33; i <= 126; i++) { Ttext[i] = true; }
Ttext['('] = false;
Ttext[')'] = false;
Ttext['<'] = false;
Ttext['>'] = false;
Ttext['@'] = false;
Ttext[','] = false;
Ttext[';'] = false;
Ttext[':'] = false;
Ttext['\\'] = false;
Ttext['"'] = false;
Ttext['/'] = false;
Ttext['['] = false;
Ttext[']'] = false;
Ttext['?'] = false;
Ttext['='] = false;
// ctext- %d1-8 / %d11 / %d12 / %d14-31 / %33-39 / %42-91 / %93-127
for (int i = 1; i <= 8; i++) { Ctext[i] = true; }
Ctext[11] = true;
Ctext[12] = true;
for (int i = 14; i <= 31; i++) { Ctext[i] = true; }
for (int i = 33; i <= 39; i++) { Ctext[i] = true; }
for (int i = 42; i <= 91; i++) { Ctext[i] = true; }
for (int i = 93; i <= 127; i++) { Ctext[i] = true; }
}
internal static bool SkipCFWS(string data, ref int offset)
{
int comments = 0;
for (;offset < data.Length ;offset++)
{
if (data[offset] > 127)
throw new FormatException(SR.GetString(SR.MailHeaderFieldInvalidCharacter, data[offset]));
else if (data[offset] == '\\' && comments > 0)
offset += 2;
else if (data[offset] == '(')
comments++;
else if (data[offset] == ')')
comments--;
else if (data[offset] != ' ' && data[offset] != '\t' && comments == 0)
return true;
if (comments < 0) {
throw new FormatException(SR.GetString(SR.MailHeaderFieldInvalidCharacter, data[offset]));
}
}
//returns false if end of string
return false;
}
internal static void ValidateHeaderName(string data){
int offset = 0;
for (; offset < data.Length; offset++)
{
if (data[offset] > Ftext.Length || !Ftext[data[offset]])
throw new FormatException(SR.GetString(SR.InvalidHeaderName));
}
if (offset == 0)
throw new FormatException(SR.GetString(SR.InvalidHeaderName));
}
internal static string ReadQuotedString(string data, ref int offset, StringBuilder builder){
return ReadQuotedString(data, ref offset, builder, false, false);
}
internal static string ReadQuotedString(string data, ref int offset, StringBuilder builder, bool doesntRequireQuotes, bool permitUnicodeInDisplayName)
{
// assume first char is the opening quote
if(!doesntRequireQuotes){
++offset;
}
int start = offset;
StringBuilder localBuilder = (builder != null ? builder : new StringBuilder());
for (; offset < data.Length; offset++)
{
if (data[offset] == '\\')
{
localBuilder.Append(data, start, offset - start);
start = ++offset;
}
else if (data[offset] == '"')
{
localBuilder.Append(data, start, offset - start);
offset++;
return (builder != null ? null : localBuilder.ToString());
}
else if (data[offset] == '=' &&
data.Length > offset + 3 &&
data[offset + 1] == '\r' &&
data[offset + 2] == '\n' &&
(data[offset + 3] == ' ' || data[offset + 3] == '\t'))
{
//it's a soft crlf so it's ok
offset += 3;
}
else if (permitUnicodeInDisplayName)
{
//if data contains unicode and unicode is permitted, then
//it is valid in a quoted string in a header.
if (data[offset] <= Ascii7bitMaxValue && !Qtext[data[offset]])
throw new FormatException(SR.GetString(SR.MailHeaderFieldInvalidCharacter, data[offset]));
}
//not permitting unicode, in which case unicode is a formatting error
else if (data[offset] > Ascii7bitMaxValue || !Qtext[data[offset]])
{
throw new FormatException(SR.GetString(SR.MailHeaderFieldInvalidCharacter, data[offset]));
}
}
if(doesntRequireQuotes){
localBuilder.Append(data, start, offset - start);
return (builder != null ? null : localBuilder.ToString());
}
throw new FormatException(SR.GetString(SR.MailHeaderFieldMalformedHeader));
}
internal static string ReadParameterAttribute(string data, ref int offset, StringBuilder builder)
{
if (!SkipCFWS(data, ref offset))
return null; //
return ReadToken(data, ref offset, null);
}
internal static string ReadToken(string data, ref int offset, StringBuilder builder)
{
int start = offset;
for (; offset < data.Length; offset++)
{
if (data[offset] > Ascii7bitMaxValue)
{
throw new FormatException(SR.GetString(SR.MailHeaderFieldInvalidCharacter, data[offset]));
}
else if (!Ttext[data[offset]])
{
break;
}
}
if (start == offset) {
throw new FormatException(SR.GetString(SR.MailHeaderFieldInvalidCharacter, data[offset]));
}
return data.Substring(start, offset - start);
}
static string[] s_months = new string[] { null, "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" };
internal static string GetDateTimeString(DateTime value, StringBuilder builder)
{
StringBuilder localBuilder = (builder != null ? builder : new StringBuilder());
localBuilder.Append(value.Day);
localBuilder.Append(' ');
localBuilder.Append(s_months[value.Month]);
localBuilder.Append(' ');
localBuilder.Append(value.Year);
localBuilder.Append(' ');
if (value.Hour <= 9) {
localBuilder.Append('0');
}
localBuilder.Append(value.Hour);
localBuilder.Append(':');
if (value.Minute <= 9) {
localBuilder.Append('0');
}
localBuilder.Append(value.Minute);
localBuilder.Append(':');
if (value.Second <= 9) {
localBuilder.Append('0');
}
localBuilder.Append(value.Second);
string offset = TimeZone.CurrentTimeZone.GetUtcOffset(value).ToString();
if (offset[0] != '-') {
localBuilder.Append(" +");
}
else {
localBuilder.Append(" ");
}
string[] offsetFields = offset.Split(':');
localBuilder.Append(offsetFields[0]);
localBuilder.Append(offsetFields[1]);
return (builder != null ? null : localBuilder.ToString());
}
internal static string GetTokenOrQuotedString(string data, StringBuilder builder)
{
int offset = 0, start = 0;
for (; offset < data.Length; offset++)
{
if (data[offset] > Ascii7bitMaxValue)
throw new FormatException(SR.GetString(SR.MailHeaderFieldInvalidCharacter, data[offset]));
if (!Ttext[data[offset]] || data[offset] == ' ')
{
StringBuilder localBuilder = (builder != null ? builder : new StringBuilder());
builder.Append('"');
for (; offset < data.Length; offset++)
{
if (data[offset] > Ascii7bitMaxValue)
{
throw new FormatException(SR.GetString(SR.MailHeaderFieldInvalidCharacter, data[offset]));
}
else if (!Qtext[data[offset]])
{
builder.Append(data, start, offset - start);
builder.Append('\\');
start = offset;
}
}
builder.Append(data, start, offset - start);
builder.Append('"');
return (builder != null ? null : localBuilder.ToString());
}
}
//always a quoted string if it was empty.
if(data.Length == 0){
if (builder != null) {
builder.Append("\"\"");
}
else{
return "\"\"";
}
}
if (builder != null)
{
builder.Append(data);
return null;
}
return data;
}
internal static bool HasCROrLF(string data){
for (int i=0;i
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- WebBrowserNavigatedEventHandler.cs
- MouseGestureValueSerializer.cs
- NavigationProgressEventArgs.cs
- RtfControlWordInfo.cs
- TypeAccessException.cs
- LiteralDesigner.cs
- UnsafeNativeMethodsCLR.cs
- ProfilePropertySettings.cs
- ScriptDescriptor.cs
- ScriptingJsonSerializationSection.cs
- GridViewDeleteEventArgs.cs
- TableParagraph.cs
- TextDecoration.cs
- WinCategoryAttribute.cs
- SupportingTokenParameters.cs
- WebPartExportVerb.cs
- TreeNodeCollection.cs
- XmlDocumentType.cs
- ColorConvertedBitmap.cs
- TextServicesDisplayAttribute.cs
- Win32.cs
- WindowAutomationPeer.cs
- cryptoapiTransform.cs
- QueryableDataSource.cs
- HyperLink.cs
- XmlImplementation.cs
- PixelFormatConverter.cs
- SectionXmlInfo.cs
- ListControl.cs
- XmlILOptimizerVisitor.cs
- XmlSiteMapProvider.cs
- InheritedPropertyChangedEventArgs.cs
- XmlUtf8RawTextWriter.cs
- WebPartUserCapability.cs
- ComplusEndpointConfigContainer.cs
- httpstaticobjectscollection.cs
- StrokeNodeOperations.cs
- GraphicsPath.cs
- CmsUtils.cs
- ListChangedEventArgs.cs
- ServiceDescriptionReflector.cs
- RadioButtonFlatAdapter.cs
- ProtocolElementCollection.cs
- DataView.cs
- _DomainName.cs
- EventSourceCreationData.cs
- TextEditorSelection.cs
- PopOutPanel.cs
- RequestQueue.cs
- XmlSchemas.cs
- IconConverter.cs
- MembershipUser.cs
- LoginStatusDesigner.cs
- HwndHost.cs
- MeshGeometry3D.cs
- HierarchicalDataSourceDesigner.cs
- ServiceMemoryGates.cs
- ConcurrentDictionary.cs
- BCLDebug.cs
- SrgsNameValueTag.cs
- AssociationSet.cs
- ControlEvent.cs
- BaseTemplateCodeDomTreeGenerator.cs
- MetadataItem.cs
- UpdateRecord.cs
- ObjectKeyFrameCollection.cs
- AnonymousIdentificationModule.cs
- ContainerControl.cs
- CompilerGeneratedAttribute.cs
- SyncOperationState.cs
- AssociationType.cs
- ColorContext.cs
- WebPartEventArgs.cs
- SQLDoubleStorage.cs
- SchemaCollectionCompiler.cs
- PrintPreviewGraphics.cs
- dataSvcMapFileLoader.cs
- ConsumerConnectionPoint.cs
- NumericExpr.cs
- ObjectAnimationBase.cs
- ApplicationDirectoryMembershipCondition.cs
- HostedElements.cs
- XmlDigitalSignatureProcessor.cs
- SendDesigner.xaml.cs
- KeyInstance.cs
- TypeSource.cs
- AttributeProviderAttribute.cs
- TileBrush.cs
- DataServiceQueryException.cs
- ReturnType.cs
- GlobalProxySelection.cs
- MatrixAnimationBase.cs
- RoleServiceManager.cs
- CorruptingExceptionCommon.cs
- Blend.cs
- ProtocolsConfigurationHandler.cs
- FastEncoderWindow.cs
- UpDownBaseDesigner.cs
- DataObjectSettingDataEventArgs.cs
- AutoResetEvent.cs