Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Core / Microsoft / Scripting / Ast / MemberExpression.cs / 1305376 / MemberExpression.cs
/* **************************************************************************** * * Copyright (c) Microsoft Corporation. * * This source code is subject to terms and conditions of the Microsoft Public License. A * copy of the license can be found in the License.html file at the root of this distribution. If * you cannot locate the Microsoft Public License, please send an email to * dlr@microsoft.com. By using this source code in any fashion, you are agreeing to be bound * by the terms of the Microsoft Public License. * * You must not remove this notice, or any other, from this software. * * * ***************************************************************************/ using System.Diagnostics; using System.Dynamic.Utils; using System.Reflection; #if SILVERLIGHT using System.Core; #endif namespace System.Linq.Expressions { ////// Represents accessing a field or property. /// #if !SILVERLIGHT [DebuggerTypeProxy(typeof(Expression.MemberExpressionProxy))] #endif public class MemberExpression : Expression { private readonly Expression _expression; ////// Gets the field or property to be accessed. /// public MemberInfo Member { get { return GetMember(); } } ////// Gets the containing object of the field or property. /// public Expression Expression { get { return _expression; } } // param order: factories args in order, then other args internal MemberExpression(Expression expression) { _expression = expression; } internal static MemberExpression Make(Expression expression, MemberInfo member) { if (member.MemberType == MemberTypes.Field) { FieldInfo fi = (FieldInfo)member; return new FieldExpression(expression, fi); } else { PropertyInfo pi = (PropertyInfo)member; return new PropertyExpression(expression, pi); } } ////// Returns the node type of this ///. (Inherited from .) /// The public sealed override ExpressionType NodeType { get { return ExpressionType.MemberAccess; } } internal virtual MemberInfo GetMember() { throw ContractUtils.Unreachable; } ///that represents this expression. /// Dispatches to the specific visit method for this node type. /// protected internal override Expression Accept(ExpressionVisitor visitor) { return visitor.VisitMember(this); } ////// Creates a new expression that is like this one, but using the /// supplied children. If all of the children are the same, it will /// return this expression. /// /// Theproperty of the result. /// This expression if no children changed, or an expression with the updated children. public MemberExpression Update(Expression expression) { if (expression == Expression) { return this; } return Expression.MakeMemberAccess(expression, Member); } } internal class FieldExpression : MemberExpression { private readonly FieldInfo _field; public FieldExpression(Expression expression, FieldInfo member) : base(expression) { _field = member; } internal override MemberInfo GetMember() { return _field; } public sealed override Type Type { get { return _field.FieldType; } } } internal class PropertyExpression : MemberExpression { private readonly PropertyInfo _property; public PropertyExpression(Expression expression, PropertyInfo member) : base(expression) { _property = member; } internal override MemberInfo GetMember() { return _property; } public sealed override Type Type { get { return _property.PropertyType; } } } public partial class Expression { #region Field ////// Creates a /// The containing object of the field. This can be null for static fields. /// The field to be accessed. ///accessing a field. /// The created [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1719:ParameterNamesShouldNotMatchMemberNames")] public static MemberExpression Field(Expression expression, FieldInfo field) { ContractUtils.RequiresNotNull(field, "field"); if (field.IsStatic) { if (expression != null) throw new ArgumentException(Strings.OnlyStaticFieldsHaveNullInstance, "expression"); } else { if (expression == null) throw new ArgumentException(Strings.OnlyStaticFieldsHaveNullInstance, "field"); RequiresCanRead(expression, "expression"); if (!TypeUtils.AreReferenceAssignable(field.DeclaringType, expression.Type)) { throw Error.FieldInfoNotDefinedForType(field.DeclaringType, field.Name, expression.Type); } } return MemberExpression.Make(expression, field); } ///. /// Creates a /// The containing object of the field. This can be null for static fields. /// The field to be accessed. ///accessing a field. /// The created public static MemberExpression Field(Expression expression, string fieldName) { RequiresCanRead(expression, "expression"); // bind to public names first FieldInfo fi = expression.Type.GetField(fieldName, BindingFlags.Instance | BindingFlags.Public | BindingFlags.IgnoreCase | BindingFlags.FlattenHierarchy); if (fi == null) { fi = expression.Type.GetField(fieldName, BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.IgnoreCase | BindingFlags.FlattenHierarchy); } if (fi == null) { throw Error.InstanceFieldNotDefinedForType(fieldName, expression.Type); } return Expression.Field(expression, fi); } ///. /// Creates a /// The containing object of the field. This can be null for static fields. /// Theaccessing a field. /// containing the field. /// The field to be accessed. /// The created [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1719:ParameterNamesShouldNotMatchMemberNames")] public static MemberExpression Field(Expression expression, Type type, string fieldName) { ContractUtils.RequiresNotNull(type, "type"); // bind to public names first FieldInfo fi = type.GetField(fieldName, BindingFlags.Static | BindingFlags.Instance | BindingFlags.Public | BindingFlags.IgnoreCase | BindingFlags.FlattenHierarchy); if (fi == null) { fi = type.GetField(fieldName, BindingFlags.Static | BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.IgnoreCase | BindingFlags.FlattenHierarchy); } if (fi == null) { throw Error.FieldNotDefinedForType(fieldName, type); } return Expression.Field(expression, fi); } #endregion #region Property ///. /// Creates a /// The containing object of the property. This can be null for static properties. /// The property to be accessed. ///accessing a property. /// The created public static MemberExpression Property(Expression expression, string propertyName) { RequiresCanRead(expression, "expression"); ContractUtils.RequiresNotNull(propertyName, "propertyName"); // bind to public names first PropertyInfo pi = expression.Type.GetProperty(propertyName, BindingFlags.Instance | BindingFlags.Public | BindingFlags.IgnoreCase | BindingFlags.FlattenHierarchy); if (pi == null) { pi = expression.Type.GetProperty(propertyName, BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.IgnoreCase | BindingFlags.FlattenHierarchy); } if (pi == null) { throw Error.InstancePropertyNotDefinedForType(propertyName, expression.Type); } return Property(expression, pi); } ///. /// Creates a /// The containing object of the property. This can be null for static properties. /// Theaccessing a property. /// containing the property. /// The property to be accessed. /// The created public static MemberExpression Property(Expression expression, Type type, string propertyName) { ContractUtils.RequiresNotNull(type, "type"); ContractUtils.RequiresNotNull(propertyName, "propertyName"); // bind to public names first PropertyInfo pi = type.GetProperty(propertyName, BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public | BindingFlags.IgnoreCase | BindingFlags.FlattenHierarchy); if (pi == null) { pi = type.GetProperty(propertyName, BindingFlags.Static | BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.IgnoreCase | BindingFlags.FlattenHierarchy); } if (pi == null) { throw Error.PropertyNotDefinedForType(propertyName, type); } return Property(expression, pi); } ///. /// Creates a /// The containing object of the property. This can be null for static properties. /// The property to be accessed. ///accessing a property. /// The created [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1719:ParameterNamesShouldNotMatchMemberNames")] public static MemberExpression Property(Expression expression, PropertyInfo property) { ContractUtils.RequiresNotNull(property, "property"); MethodInfo mi = property.GetGetMethod(true) ?? property.GetSetMethod(true); if (mi == null) { throw Error.PropertyDoesNotHaveAccessor(property); } if (mi.IsStatic) { if (expression != null) throw new ArgumentException(Strings.OnlyStaticPropertiesHaveNullInstance, "expression"); } else { if (expression == null) throw new ArgumentException(Strings.OnlyStaticPropertiesHaveNullInstance, "property"); RequiresCanRead(expression, "expression"); if (!TypeUtils.IsValidInstanceType(property, expression.Type)) { throw Error.PropertyNotDefinedForType(property, expression.Type); } } return MemberExpression.Make(expression, property); } ///. /// Creates a /// The containing object of the property. This can be null for static properties. /// An accessor method of the property to be accessed. ///accessing a property. /// The created public static MemberExpression Property(Expression expression, MethodInfo propertyAccessor) { ContractUtils.RequiresNotNull(propertyAccessor, "propertyAccessor"); ValidateMethodInfo(propertyAccessor); return Property(expression, GetProperty(propertyAccessor)); } private static PropertyInfo GetProperty(MethodInfo mi) { Type type = mi.DeclaringType; BindingFlags flags = BindingFlags.Public | BindingFlags.NonPublic; flags |= (mi.IsStatic) ? BindingFlags.Static : BindingFlags.Instance; PropertyInfo[] props = type.GetProperties(flags); foreach (PropertyInfo pi in props) { if (pi.CanRead && CheckMethod(mi, pi.GetGetMethod(true))) { return pi; } if (pi.CanWrite && CheckMethod(mi, pi.GetSetMethod(true))) { return pi; } } throw Error.MethodNotPropertyAccessor(mi.DeclaringType, mi.Name); } private static bool CheckMethod(MethodInfo method, MethodInfo propertyMethod) { if (method == propertyMethod) { return true; } // If the type is an interface then the handle for the method got by the compiler will not be the // same as that returned by reflection. // Check for this condition and try and get the method from reflection. Type type = method.DeclaringType; if (type.IsInterface && method.Name == propertyMethod.Name && type.GetMethod(method.Name) == propertyMethod) { return true; } return false; } #endregion ///. /// Creates a /// The containing object of the member. This can be null for static members. /// The member to be accessed. ///accessing a property or field. /// The created public static MemberExpression PropertyOrField(Expression expression, string propertyOrFieldName) { RequiresCanRead(expression, "expression"); // bind to public names first PropertyInfo pi = expression.Type.GetProperty(propertyOrFieldName, BindingFlags.Instance | BindingFlags.Public | BindingFlags.IgnoreCase | BindingFlags.FlattenHierarchy); if (pi != null) return Property(expression, pi); FieldInfo fi = expression.Type.GetField(propertyOrFieldName, BindingFlags.Instance | BindingFlags.Public | BindingFlags.IgnoreCase | BindingFlags.FlattenHierarchy); if (fi != null) return Field(expression, fi); pi = expression.Type.GetProperty(propertyOrFieldName, BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.IgnoreCase | BindingFlags.FlattenHierarchy); if (pi != null) return Property(expression, pi); fi = expression.Type.GetField(propertyOrFieldName, BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.IgnoreCase | BindingFlags.FlattenHierarchy); if (fi != null) return Field(expression, fi); throw Error.NotAMemberOfType(propertyOrFieldName, expression.Type); } ///. /// Creates a /// The containing object of the member. This can be null for static members. /// The member to be accessed. ///accessing a property or field. /// The created public static MemberExpression MakeMemberAccess(Expression expression, MemberInfo member) { ContractUtils.RequiresNotNull(member, "member"); FieldInfo fi = member as FieldInfo; if (fi != null) { return Expression.Field(expression, fi); } PropertyInfo pi = member as PropertyInfo; if (pi != null) { return Expression.Property(expression, pi); } throw Error.MemberNotFieldOrProperty(member); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. /* **************************************************************************** * * Copyright (c) Microsoft Corporation. * * This source code is subject to terms and conditions of the Microsoft Public License. A * copy of the license can be found in the License.html file at the root of this distribution. If * you cannot locate the Microsoft Public License, please send an email to * dlr@microsoft.com. By using this source code in any fashion, you are agreeing to be bound * by the terms of the Microsoft Public License. * * You must not remove this notice, or any other, from this software. * * * ***************************************************************************/ using System.Diagnostics; using System.Dynamic.Utils; using System.Reflection; #if SILVERLIGHT using System.Core; #endif namespace System.Linq.Expressions { ///. /// Represents accessing a field or property. /// #if !SILVERLIGHT [DebuggerTypeProxy(typeof(Expression.MemberExpressionProxy))] #endif public class MemberExpression : Expression { private readonly Expression _expression; ////// Gets the field or property to be accessed. /// public MemberInfo Member { get { return GetMember(); } } ////// Gets the containing object of the field or property. /// public Expression Expression { get { return _expression; } } // param order: factories args in order, then other args internal MemberExpression(Expression expression) { _expression = expression; } internal static MemberExpression Make(Expression expression, MemberInfo member) { if (member.MemberType == MemberTypes.Field) { FieldInfo fi = (FieldInfo)member; return new FieldExpression(expression, fi); } else { PropertyInfo pi = (PropertyInfo)member; return new PropertyExpression(expression, pi); } } ////// Returns the node type of this ///. (Inherited from .) /// The public sealed override ExpressionType NodeType { get { return ExpressionType.MemberAccess; } } internal virtual MemberInfo GetMember() { throw ContractUtils.Unreachable; } ///that represents this expression. /// Dispatches to the specific visit method for this node type. /// protected internal override Expression Accept(ExpressionVisitor visitor) { return visitor.VisitMember(this); } ////// Creates a new expression that is like this one, but using the /// supplied children. If all of the children are the same, it will /// return this expression. /// /// Theproperty of the result. /// This expression if no children changed, or an expression with the updated children. public MemberExpression Update(Expression expression) { if (expression == Expression) { return this; } return Expression.MakeMemberAccess(expression, Member); } } internal class FieldExpression : MemberExpression { private readonly FieldInfo _field; public FieldExpression(Expression expression, FieldInfo member) : base(expression) { _field = member; } internal override MemberInfo GetMember() { return _field; } public sealed override Type Type { get { return _field.FieldType; } } } internal class PropertyExpression : MemberExpression { private readonly PropertyInfo _property; public PropertyExpression(Expression expression, PropertyInfo member) : base(expression) { _property = member; } internal override MemberInfo GetMember() { return _property; } public sealed override Type Type { get { return _property.PropertyType; } } } public partial class Expression { #region Field ////// Creates a /// The containing object of the field. This can be null for static fields. /// The field to be accessed. ///accessing a field. /// The created [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1719:ParameterNamesShouldNotMatchMemberNames")] public static MemberExpression Field(Expression expression, FieldInfo field) { ContractUtils.RequiresNotNull(field, "field"); if (field.IsStatic) { if (expression != null) throw new ArgumentException(Strings.OnlyStaticFieldsHaveNullInstance, "expression"); } else { if (expression == null) throw new ArgumentException(Strings.OnlyStaticFieldsHaveNullInstance, "field"); RequiresCanRead(expression, "expression"); if (!TypeUtils.AreReferenceAssignable(field.DeclaringType, expression.Type)) { throw Error.FieldInfoNotDefinedForType(field.DeclaringType, field.Name, expression.Type); } } return MemberExpression.Make(expression, field); } ///. /// Creates a /// The containing object of the field. This can be null for static fields. /// The field to be accessed. ///accessing a field. /// The created public static MemberExpression Field(Expression expression, string fieldName) { RequiresCanRead(expression, "expression"); // bind to public names first FieldInfo fi = expression.Type.GetField(fieldName, BindingFlags.Instance | BindingFlags.Public | BindingFlags.IgnoreCase | BindingFlags.FlattenHierarchy); if (fi == null) { fi = expression.Type.GetField(fieldName, BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.IgnoreCase | BindingFlags.FlattenHierarchy); } if (fi == null) { throw Error.InstanceFieldNotDefinedForType(fieldName, expression.Type); } return Expression.Field(expression, fi); } ///. /// Creates a /// The containing object of the field. This can be null for static fields. /// Theaccessing a field. /// containing the field. /// The field to be accessed. /// The created [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1719:ParameterNamesShouldNotMatchMemberNames")] public static MemberExpression Field(Expression expression, Type type, string fieldName) { ContractUtils.RequiresNotNull(type, "type"); // bind to public names first FieldInfo fi = type.GetField(fieldName, BindingFlags.Static | BindingFlags.Instance | BindingFlags.Public | BindingFlags.IgnoreCase | BindingFlags.FlattenHierarchy); if (fi == null) { fi = type.GetField(fieldName, BindingFlags.Static | BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.IgnoreCase | BindingFlags.FlattenHierarchy); } if (fi == null) { throw Error.FieldNotDefinedForType(fieldName, type); } return Expression.Field(expression, fi); } #endregion #region Property ///. /// Creates a /// The containing object of the property. This can be null for static properties. /// The property to be accessed. ///accessing a property. /// The created public static MemberExpression Property(Expression expression, string propertyName) { RequiresCanRead(expression, "expression"); ContractUtils.RequiresNotNull(propertyName, "propertyName"); // bind to public names first PropertyInfo pi = expression.Type.GetProperty(propertyName, BindingFlags.Instance | BindingFlags.Public | BindingFlags.IgnoreCase | BindingFlags.FlattenHierarchy); if (pi == null) { pi = expression.Type.GetProperty(propertyName, BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.IgnoreCase | BindingFlags.FlattenHierarchy); } if (pi == null) { throw Error.InstancePropertyNotDefinedForType(propertyName, expression.Type); } return Property(expression, pi); } ///. /// Creates a /// The containing object of the property. This can be null for static properties. /// Theaccessing a property. /// containing the property. /// The property to be accessed. /// The created public static MemberExpression Property(Expression expression, Type type, string propertyName) { ContractUtils.RequiresNotNull(type, "type"); ContractUtils.RequiresNotNull(propertyName, "propertyName"); // bind to public names first PropertyInfo pi = type.GetProperty(propertyName, BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public | BindingFlags.IgnoreCase | BindingFlags.FlattenHierarchy); if (pi == null) { pi = type.GetProperty(propertyName, BindingFlags.Static | BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.IgnoreCase | BindingFlags.FlattenHierarchy); } if (pi == null) { throw Error.PropertyNotDefinedForType(propertyName, type); } return Property(expression, pi); } ///. /// Creates a /// The containing object of the property. This can be null for static properties. /// The property to be accessed. ///accessing a property. /// The created [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1719:ParameterNamesShouldNotMatchMemberNames")] public static MemberExpression Property(Expression expression, PropertyInfo property) { ContractUtils.RequiresNotNull(property, "property"); MethodInfo mi = property.GetGetMethod(true) ?? property.GetSetMethod(true); if (mi == null) { throw Error.PropertyDoesNotHaveAccessor(property); } if (mi.IsStatic) { if (expression != null) throw new ArgumentException(Strings.OnlyStaticPropertiesHaveNullInstance, "expression"); } else { if (expression == null) throw new ArgumentException(Strings.OnlyStaticPropertiesHaveNullInstance, "property"); RequiresCanRead(expression, "expression"); if (!TypeUtils.IsValidInstanceType(property, expression.Type)) { throw Error.PropertyNotDefinedForType(property, expression.Type); } } return MemberExpression.Make(expression, property); } ///. /// Creates a /// The containing object of the property. This can be null for static properties. /// An accessor method of the property to be accessed. ///accessing a property. /// The created public static MemberExpression Property(Expression expression, MethodInfo propertyAccessor) { ContractUtils.RequiresNotNull(propertyAccessor, "propertyAccessor"); ValidateMethodInfo(propertyAccessor); return Property(expression, GetProperty(propertyAccessor)); } private static PropertyInfo GetProperty(MethodInfo mi) { Type type = mi.DeclaringType; BindingFlags flags = BindingFlags.Public | BindingFlags.NonPublic; flags |= (mi.IsStatic) ? BindingFlags.Static : BindingFlags.Instance; PropertyInfo[] props = type.GetProperties(flags); foreach (PropertyInfo pi in props) { if (pi.CanRead && CheckMethod(mi, pi.GetGetMethod(true))) { return pi; } if (pi.CanWrite && CheckMethod(mi, pi.GetSetMethod(true))) { return pi; } } throw Error.MethodNotPropertyAccessor(mi.DeclaringType, mi.Name); } private static bool CheckMethod(MethodInfo method, MethodInfo propertyMethod) { if (method == propertyMethod) { return true; } // If the type is an interface then the handle for the method got by the compiler will not be the // same as that returned by reflection. // Check for this condition and try and get the method from reflection. Type type = method.DeclaringType; if (type.IsInterface && method.Name == propertyMethod.Name && type.GetMethod(method.Name) == propertyMethod) { return true; } return false; } #endregion ///. /// Creates a /// The containing object of the member. This can be null for static members. /// The member to be accessed. ///accessing a property or field. /// The created public static MemberExpression PropertyOrField(Expression expression, string propertyOrFieldName) { RequiresCanRead(expression, "expression"); // bind to public names first PropertyInfo pi = expression.Type.GetProperty(propertyOrFieldName, BindingFlags.Instance | BindingFlags.Public | BindingFlags.IgnoreCase | BindingFlags.FlattenHierarchy); if (pi != null) return Property(expression, pi); FieldInfo fi = expression.Type.GetField(propertyOrFieldName, BindingFlags.Instance | BindingFlags.Public | BindingFlags.IgnoreCase | BindingFlags.FlattenHierarchy); if (fi != null) return Field(expression, fi); pi = expression.Type.GetProperty(propertyOrFieldName, BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.IgnoreCase | BindingFlags.FlattenHierarchy); if (pi != null) return Property(expression, pi); fi = expression.Type.GetField(propertyOrFieldName, BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.IgnoreCase | BindingFlags.FlattenHierarchy); if (fi != null) return Field(expression, fi); throw Error.NotAMemberOfType(propertyOrFieldName, expression.Type); } ///. /// Creates a /// The containing object of the member. This can be null for static members. /// The member to be accessed. ///accessing a property or field. /// The created public static MemberExpression MakeMemberAccess(Expression expression, MemberInfo member) { ContractUtils.RequiresNotNull(member, "member"); FieldInfo fi = member as FieldInfo; if (fi != null) { return Expression.Field(expression, fi); } PropertyInfo pi = member as PropertyInfo; if (pi != null) { return Expression.Property(expression, pi); } throw Error.MemberNotFieldOrProperty(member); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved..
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TextLineResult.cs
- UpdatePanelTriggerCollection.cs
- RegexBoyerMoore.cs
- ObjectItemConventionAssemblyLoader.cs
- UnsupportedPolicyOptionsException.cs
- AnimationTimeline.cs
- TagMapCollection.cs
- DBPropSet.cs
- WorkflowMessageEventHandler.cs
- _FtpControlStream.cs
- PointLight.cs
- XmlNamespaceDeclarationsAttribute.cs
- TransformerInfo.cs
- ZoneMembershipCondition.cs
- RenderDataDrawingContext.cs
- FastEncoderWindow.cs
- Parser.cs
- DataTableReader.cs
- MasterPageCodeDomTreeGenerator.cs
- Vector3DKeyFrameCollection.cs
- Utils.cs
- StaticTextPointer.cs
- EventlogProvider.cs
- Operand.cs
- DataGridColumnCollection.cs
- CaseInsensitiveComparer.cs
- SafeBitVector32.cs
- AdapterDictionary.cs
- ParameterCollection.cs
- OleDbStruct.cs
- DBConcurrencyException.cs
- GacUtil.cs
- TableMethodGenerator.cs
- SectionInformation.cs
- DataSourceXmlSubItemAttribute.cs
- CounterSet.cs
- Control.cs
- SqlConnectionPoolGroupProviderInfo.cs
- XmlObjectSerializerWriteContextComplexJson.cs
- RegexCompiler.cs
- FlatButtonAppearance.cs
- ArraySubsetEnumerator.cs
- RenderData.cs
- WebPartZoneCollection.cs
- XmlAtomicValue.cs
- PrintPreviewDialog.cs
- ObjectReferenceStack.cs
- XamlToRtfWriter.cs
- IdentitySection.cs
- TextTreeRootNode.cs
- EventLogPermissionAttribute.cs
- UrlAuthorizationModule.cs
- SubclassTypeValidator.cs
- SystemDiagnosticsSection.cs
- TextRange.cs
- CodeDOMUtility.cs
- SystemKeyConverter.cs
- CharacterBufferReference.cs
- PackagingUtilities.cs
- CustomCategoryAttribute.cs
- DecimalAnimation.cs
- CallbackHandler.cs
- ToolboxItemSnapLineBehavior.cs
- ScriptControlDescriptor.cs
- HttpTransportElement.cs
- SiteMapNodeItem.cs
- CombinedGeometry.cs
- SignedXml.cs
- XslAstAnalyzer.cs
- ValidatorUtils.cs
- InfiniteIntConverter.cs
- Thickness.cs
- UnsafeNativeMethods.cs
- FileSystemEventArgs.cs
- BaseUriHelper.cs
- WebPartUtil.cs
- TextRunCacheImp.cs
- FormatterServices.cs
- BasicViewGenerator.cs
- SiteMapNodeItemEventArgs.cs
- DataGridViewIntLinkedList.cs
- ClickablePoint.cs
- FutureFactory.cs
- SecurityContext.cs
- DataObjectPastingEventArgs.cs
- XhtmlTextWriter.cs
- RegistryExceptionHelper.cs
- SmiMetaData.cs
- Solver.cs
- DataGridViewIntLinkedList.cs
- PropertyCollection.cs
- TripleDES.cs
- OracleTransaction.cs
- BulletedListEventArgs.cs
- HMACSHA384.cs
- MatrixUtil.cs
- StylusPointProperty.cs
- WebEventCodes.cs
- XmlSchemaAll.cs
- StrongNameKeyPair.cs