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
- PagerSettings.cs
- CheckPair.cs
- Journal.cs
- SimpleFileLog.cs
- DataGridLinkButton.cs
- addressfiltermode.cs
- ListBoxItemWrapperAutomationPeer.cs
- CompositionAdorner.cs
- TypeBuilderInstantiation.cs
- RoutedEventConverter.cs
- IpcPort.cs
- CodeAccessPermission.cs
- SubpageParaClient.cs
- FixedDocumentPaginator.cs
- ObjectDataSourceSelectingEventArgs.cs
- httpstaticobjectscollection.cs
- DelimitedListTraceListener.cs
- ValueHandle.cs
- HttpWebRequestElement.cs
- OleCmdHelper.cs
- XPathDocument.cs
- ExeContext.cs
- SqlExpander.cs
- PartialTrustVisibleAssembliesSection.cs
- LeftCellWrapper.cs
- CommandEventArgs.cs
- MarkupExtensionParser.cs
- CustomServiceCredentials.cs
- OptimizerPatterns.cs
- QilGenerator.cs
- ExeConfigurationFileMap.cs
- DecimalFormatter.cs
- ChangesetResponse.cs
- ParallelTimeline.cs
- RegexCompiler.cs
- QueryOpeningEnumerator.cs
- SafePipeHandle.cs
- SystemWebExtensionsSectionGroup.cs
- MonitorWrapper.cs
- EqualityComparer.cs
- UpdateTranslator.cs
- Splitter.cs
- MobileUITypeEditor.cs
- XmlUtil.cs
- SafeNativeMethods.cs
- RowToFieldTransformer.cs
- TypeDescriptor.cs
- DataKeyCollection.cs
- ProjectedWrapper.cs
- DataGridViewDataConnection.cs
- XmlDataSourceView.cs
- SingleObjectCollection.cs
- MultiTouchSystemGestureLogic.cs
- FrameworkElementAutomationPeer.cs
- EventRecordWrittenEventArgs.cs
- TableAutomationPeer.cs
- DataStreamFromComStream.cs
- TextServicesManager.cs
- DefaultEventAttribute.cs
- AdornedElementPlaceholder.cs
- HttpWriter.cs
- OrderedEnumerableRowCollection.cs
- XmlValueConverter.cs
- FieldNameLookup.cs
- log.cs
- RadioButton.cs
- MetaModel.cs
- UnsignedPublishLicense.cs
- DiscreteKeyFrames.cs
- ButtonAutomationPeer.cs
- FixedPageAutomationPeer.cs
- OSFeature.cs
- FragmentQueryKB.cs
- StylusPointProperties.cs
- Atom10FormatterFactory.cs
- SelfIssuedAuthRSAPKCS1SignatureDeformatter.cs
- CacheVirtualItemsEvent.cs
- Gdiplus.cs
- Ref.cs
- UnconditionalPolicy.cs
- AudioFileOut.cs
- SymmetricCryptoHandle.cs
- EditorZoneBase.cs
- EntityDataSourceReferenceGroup.cs
- Content.cs
- WinEventTracker.cs
- CacheManager.cs
- TheQuery.cs
- Constants.cs
- SingleAnimationBase.cs
- TranslateTransform3D.cs
- Knowncolors.cs
- SiteIdentityPermission.cs
- BindingExpression.cs
- TableItemStyle.cs
- ValueTypeFixupInfo.cs
- DataGrid.cs
- ViewStateException.cs
- StylusPointCollection.cs
- FilterException.cs