Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / ndp / fx / src / DataWeb / Server / System / Data / Services / Providers / ResourceProperty.cs / 2 / ResourceProperty.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // //// Provides a type to describe properties on resources. // // // @owner [....] //--------------------------------------------------------------------- namespace System.Data.Services.Providers { using System; using System.Diagnostics; using System.Reflection; ///Use this class to describe a property on a resource. [DebuggerDisplay("{kind}: {name}")] internal class ResourceProperty { #region Private fields. ///A MethodInfo representing the get accessor for this property. private readonly MethodInfo getMethod; ///Returns a PropertyInfo representing this property. private readonly PropertyInfo propertyInfo; ///Returns a MethodInfo representing the set accessor for this property. private readonly MethodInfo setMethod; ///MIME type for the property, if it's a primitive value. private readonly string mimeType; ///The name of this property. private readonly string name; ///The resource container a resource property refers to, if applicable. private readonly ResourceContainer resourceContainer; ///The kind of resource Type that this property refers to. /// For e.g. for collection properties, this would return the resource type, /// and not the collection type that this property refers to. private readonly ResourceType resourcePropertyType; #if ASTORIA_CONTAINMENT ///Property names of mapped keys in child (target) container. private string[] containmentChildKeys; ///Property names of mapped keys in parent container. private string[] containmentParentKeys; ///Container of target (child) entities. private ResourceContainer containmentTarget; #endif ///The kind of property this is in relation to the resource. private ResourcePropertyKind kind; #endregion Private fields. #if ASTORIA_OPEN_OBJECT ////// Initializes a new ResourceProperty instance for an open property. /// /// Property name for the property. /// Property kind. /// The type of the resource that this property refers to internal ResourceProperty(string name, ResourcePropertyKind kind, ResourceType propertyResourceType) { DebugIsValidPropertyKind(kind); Debug.Assert(name != null, "name cannot be null"); Debug.Assert(propertyResourceType != null, "propertyResourceType != null"); this.kind = kind; this.name = name; this.resourcePropertyType = propertyResourceType; } #endif ////// Initializes a new ResourceProperty instance based on the specified parameters. /// /// Property info for the property. /// Property kind. /// MIME type for the property, if it's a primitive value; null if none specified. /// The type of the resource that this property refers to /// The resource container a resource property refers to, if applicable. internal ResourceProperty(PropertyInfo propertyInfo, ResourcePropertyKind kind, string mimeType, ResourceType propertyResourceType, ResourceContainer resourceContainer) { DebugIsValidPropertyKind(kind); Debug.Assert(propertyInfo != null, "propertyInfo cannot be null"); Debug.Assert(propertyResourceType != null, "propertyResourceType != null"); Debug.Assert( kind == ResourcePropertyKind.ResourceSetReference || Nullable.GetUnderlyingType(propertyInfo.PropertyType) != null || propertyInfo.PropertyType == propertyResourceType.Type, "Except reference and collection properties, the property type and resource property type must be identical"); Debug.Assert( resourceContainer == null || kind == ResourcePropertyKind.ResourceReference || kind == ResourcePropertyKind.ResourceSetReference, "Only references can include a resource container."); Debug.Assert( resourceContainer != null || (kind != ResourcePropertyKind.ResourceReference && kind != ResourcePropertyKind.ResourceSetReference), "References must include their target resource container."); if (mimeType != null && !WebUtil.IsValidMimeType(mimeType)) { // 500 - Internal Server Error string message = Strings.ResourceProperty_MimeTypeNotValid( mimeType, propertyInfo.Name, propertyInfo.DeclaringType); throw new InvalidOperationException(message); } this.kind = kind; this.getMethod = propertyInfo.GetGetMethod(); this.name = propertyInfo.Name; this.mimeType = mimeType; this.resourcePropertyType = propertyResourceType; this.setMethod = propertyInfo.GetSetMethod(); this.propertyInfo = propertyInfo; this.resourceContainer = resourceContainer; } #if ASTORIA_CONTAINMENT ///Property names of mapped keys in child (target) container. internal string[] ContainmentChildKeys { [DebuggerStepThrough] get { return this.containmentChildKeys; } } ///Property names of mapped keys in parent container. internal string[] ContainmentParentKeys { [DebuggerStepThrough] get { return this.containmentParentKeys; } } ///Container of target (child) entities. internal ResourceContainer ContainmentTarget { [DebuggerStepThrough] get { return this.containmentTarget; } } ///Whether this property is the canonical containment path for its target container. ////// This property is only meaningful in the context of reflection services, as containment is defined /// on a per-set basis and properties are defined on a per-type basis. /// internal bool ContainmentTargetCanonical { get { return this.containmentTarget != null && this.containmentTarget.ContainmentCanonicalProperty == this; } } #endif ///Gets a MethodInfo representing the get accessor for this property. internal MethodInfo GetMethod { get { return this.getMethod; } } ///The kind of property this is in relation to the resource. internal ResourcePropertyKind Kind { [DebuggerStepThrough] get { return this.kind; } [DebuggerStepThrough] set { this.kind = value; } } ///Returns a PropertyInfo representing this property. internal PropertyInfo PropertyInfo { [DebuggerStepThrough] get { return this.propertyInfo; } } ///Returns the ///this property refers to, if applicable. /// In MEST (multiple entity sets per type) scenarios, the specific /// resource container may vary depending on the container (entity set) /// of type that has holds this property. /// /// In this case, the value of this property will be a representative /// container for security purposes, meaning that all associated /// containers will have identical rights. /// internal ResourceContainer ResourceContainer { [DebuggerStepThrough] get { return this.resourceContainer; } } ///The kind of type this property has in relation to the data service. internal ResourceTypeKind TypeKind { get { if (this.IsOfKind(ResourcePropertyKind.Primitive)) { return ResourceTypeKind.Primitive; } else if (this.kind == ResourcePropertyKind.ResourceReference || this.kind == ResourcePropertyKind.ResourceSetReference) { return ResourceTypeKind.EntityType; } else { Debug.Assert(this.kind == ResourcePropertyKind.ComplexType, "this.kind == ResourcePropertyKind.ComplexType"); return ResourceTypeKind.ComplexType; } } } ///MIME type for the property, if it's a primitive value; null if none specified. internal string MimeType { [DebuggerStepThrough] get { return this.mimeType; } } ///The property name. internal string Name { [DebuggerStepThrough] get { return this.name; } } ///The type of the property. internal Type Type { get { if (this.PropertyInfo != null) { return this.PropertyInfo.PropertyType; } else { if (this.Kind == ResourcePropertyKind.ResourceSetReference) { return typeof(System.Collections.Generic.IEnumerable<>).MakeGenericType(this.resourcePropertyType.Type); } else { return this.resourcePropertyType.Type; } } } } ////// The clr type that is property refers to [For collection, /// this will return the element of the collection, and not the /// collection]. /// internal Type ResourceClrType { [DebuggerStepThrough] get { return this.resourcePropertyType.Type; } } ////// The resource type that is property refers to [For collection, /// this will return the element of the collection, and not the /// collection]. /// internal ResourceType ResourceType { [DebuggerStepThrough] get { return this.resourcePropertyType; } } ///Returns the value of the property. /// The object whose property value will be returned. ///The property value for the internal object GetValue(object instance) { Debug.Assert(instance != null, "instance != null"); try { return this.getMethod.Invoke(instance, null); } catch (TargetInvocationException exception) { ErrorHandler.HandleTargetInvocationException(exception); throw; } } ///parameter. Sets the value of the property. /// The object whose property needs to be set. /// new value for the property. internal void SetValue(object instance, object propertyValue) { Debug.Assert(instance != null, "instance != null"); try { if (this.setMethod == null) { throw DataServiceException.CreateBadRequestError(Strings.BadRequest_PropertyValueCannotBeSet(this.Name)); } this.setMethod.Invoke(instance, new object[] { propertyValue }); } catch (TargetInvocationException exception) { ErrorHandler.HandleTargetInvocationException(exception); throw; } catch (ArgumentException exception) { throw DataServiceException.CreateBadRequestError(Strings.BadRequest_ErrorInSettingPropertyValue(this.Name), exception); } } ////// return true if this property is of the given kind /// /// flag which needs to be checked on the current property kind ///true if the current property is of the given kind internal bool IsOfKind(ResourcePropertyKind checkKind) { return ResourceProperty.IsOfKind(this.kind, checkKind); } #if ASTORIA_CONTAINMENT ////// Sets all properties for the target in a containment relationship. /// /// Property names of mapped keys in child (target) container. /// Property names of mapped keys in parent container. /// Container of target (child) entities. [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Maintainability", "CA1500:VariableNamesShouldNotMatchFieldNames", MessageId = "containmentChildKeys", Justification = "1:1 mapping")] [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Maintainability", "CA1500:VariableNamesShouldNotMatchFieldNames", MessageId = "containmentParentKeys", Justification = "1:1 mapping")] [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Maintainability", "CA1500:VariableNamesShouldNotMatchFieldNames", MessageId = "containmentTarget", Justification = "1:1 mapping")] internal void SetupContainmentTarget( string[] containmentChildKeys, string[] containmentParentKeys, ResourceContainer containmentTarget) { Debug.Assert(containmentChildKeys != null, "containmentChildKeys != null"); Debug.Assert(containmentParentKeys != null, "containmentParentKeys != null"); Debug.Assert(containmentTarget != null, "containmentTarget != null"); Debug.Assert( this.containmentChildKeys == null, "this.containmentChildKeys == null -- otherwise the navigation property has more than one target"); Debug.Assert( this.IsOfKind(ResourcePropertyKind.ResourceSetReference), "this.IsOfKind(ResourcePropertyKind.ResourceSetReference) -- otherwise this cannot be a containment source."); this.containmentChildKeys = containmentChildKeys; this.containmentParentKeys = containmentParentKeys; this.containmentTarget = containmentTarget; } #endif ////// return true if the given property kind is of the given kind /// /// kind of the property /// flag which needs to be checked on property kind ///true if the kind flag is set on the given property kind private static bool IsOfKind(ResourcePropertyKind propertyKind, ResourcePropertyKind kind) { return ((propertyKind & kind) == kind); } ////// Validates that the given property kind is valid /// /// property kind is valid [Conditional("DEBUG")] private static void DebugIsValidPropertyKind(ResourcePropertyKind propertyKind) { if (ResourceProperty.IsOfKind(propertyKind, ResourcePropertyKind.ResourceReference)) { Debug.Assert( propertyKind == ResourcePropertyKind.ResourceReference || propertyKind == (ResourcePropertyKind.ResourceReference | ResourcePropertyKind.OpenProperty), "reference property can't have any flags set"); } else if (ResourceProperty.IsOfKind(propertyKind, ResourcePropertyKind.ResourceSetReference)) { Debug.Assert( propertyKind == ResourcePropertyKind.ResourceSetReference || propertyKind == (ResourcePropertyKind.ResourceSetReference | ResourcePropertyKind.OpenProperty), "setreference property can't have any flags set"); } else if (ResourceProperty.IsOfKind(propertyKind, ResourcePropertyKind.ComplexType)) { Debug.Assert(propertyKind == ResourcePropertyKind.ComplexType, "complex property can't have any flags set"); } else { Debug.Assert(ResourceProperty.IsOfKind(propertyKind, ResourcePropertyKind.Primitive), "property must be primitive"); Debug.Assert(propertyKind != ResourcePropertyKind.Key, "property can't be alone set to key"); ResourcePropertyKind all = ResourcePropertyKind.ComplexType | ResourcePropertyKind.Key | ResourcePropertyKind.Primitive | ResourcePropertyKind.ResourceReference | ResourcePropertyKind.ResourceSetReference | ResourcePropertyKind.OpenProperty; Debug.Assert((propertyKind | all) == all, "no higher bits must be set on the propertyKind"); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // //// Provides a type to describe properties on resources. // // // @owner [....] //--------------------------------------------------------------------- namespace System.Data.Services.Providers { using System; using System.Diagnostics; using System.Reflection; ///Use this class to describe a property on a resource. [DebuggerDisplay("{kind}: {name}")] internal class ResourceProperty { #region Private fields. ///A MethodInfo representing the get accessor for this property. private readonly MethodInfo getMethod; ///Returns a PropertyInfo representing this property. private readonly PropertyInfo propertyInfo; ///Returns a MethodInfo representing the set accessor for this property. private readonly MethodInfo setMethod; ///MIME type for the property, if it's a primitive value. private readonly string mimeType; ///The name of this property. private readonly string name; ///The resource container a resource property refers to, if applicable. private readonly ResourceContainer resourceContainer; ///The kind of resource Type that this property refers to. /// For e.g. for collection properties, this would return the resource type, /// and not the collection type that this property refers to. private readonly ResourceType resourcePropertyType; #if ASTORIA_CONTAINMENT ///Property names of mapped keys in child (target) container. private string[] containmentChildKeys; ///Property names of mapped keys in parent container. private string[] containmentParentKeys; ///Container of target (child) entities. private ResourceContainer containmentTarget; #endif ///The kind of property this is in relation to the resource. private ResourcePropertyKind kind; #endregion Private fields. #if ASTORIA_OPEN_OBJECT ////// Initializes a new ResourceProperty instance for an open property. /// /// Property name for the property. /// Property kind. /// The type of the resource that this property refers to internal ResourceProperty(string name, ResourcePropertyKind kind, ResourceType propertyResourceType) { DebugIsValidPropertyKind(kind); Debug.Assert(name != null, "name cannot be null"); Debug.Assert(propertyResourceType != null, "propertyResourceType != null"); this.kind = kind; this.name = name; this.resourcePropertyType = propertyResourceType; } #endif ////// Initializes a new ResourceProperty instance based on the specified parameters. /// /// Property info for the property. /// Property kind. /// MIME type for the property, if it's a primitive value; null if none specified. /// The type of the resource that this property refers to /// The resource container a resource property refers to, if applicable. internal ResourceProperty(PropertyInfo propertyInfo, ResourcePropertyKind kind, string mimeType, ResourceType propertyResourceType, ResourceContainer resourceContainer) { DebugIsValidPropertyKind(kind); Debug.Assert(propertyInfo != null, "propertyInfo cannot be null"); Debug.Assert(propertyResourceType != null, "propertyResourceType != null"); Debug.Assert( kind == ResourcePropertyKind.ResourceSetReference || Nullable.GetUnderlyingType(propertyInfo.PropertyType) != null || propertyInfo.PropertyType == propertyResourceType.Type, "Except reference and collection properties, the property type and resource property type must be identical"); Debug.Assert( resourceContainer == null || kind == ResourcePropertyKind.ResourceReference || kind == ResourcePropertyKind.ResourceSetReference, "Only references can include a resource container."); Debug.Assert( resourceContainer != null || (kind != ResourcePropertyKind.ResourceReference && kind != ResourcePropertyKind.ResourceSetReference), "References must include their target resource container."); if (mimeType != null && !WebUtil.IsValidMimeType(mimeType)) { // 500 - Internal Server Error string message = Strings.ResourceProperty_MimeTypeNotValid( mimeType, propertyInfo.Name, propertyInfo.DeclaringType); throw new InvalidOperationException(message); } this.kind = kind; this.getMethod = propertyInfo.GetGetMethod(); this.name = propertyInfo.Name; this.mimeType = mimeType; this.resourcePropertyType = propertyResourceType; this.setMethod = propertyInfo.GetSetMethod(); this.propertyInfo = propertyInfo; this.resourceContainer = resourceContainer; } #if ASTORIA_CONTAINMENT ///Property names of mapped keys in child (target) container. internal string[] ContainmentChildKeys { [DebuggerStepThrough] get { return this.containmentChildKeys; } } ///Property names of mapped keys in parent container. internal string[] ContainmentParentKeys { [DebuggerStepThrough] get { return this.containmentParentKeys; } } ///Container of target (child) entities. internal ResourceContainer ContainmentTarget { [DebuggerStepThrough] get { return this.containmentTarget; } } ///Whether this property is the canonical containment path for its target container. ////// This property is only meaningful in the context of reflection services, as containment is defined /// on a per-set basis and properties are defined on a per-type basis. /// internal bool ContainmentTargetCanonical { get { return this.containmentTarget != null && this.containmentTarget.ContainmentCanonicalProperty == this; } } #endif ///Gets a MethodInfo representing the get accessor for this property. internal MethodInfo GetMethod { get { return this.getMethod; } } ///The kind of property this is in relation to the resource. internal ResourcePropertyKind Kind { [DebuggerStepThrough] get { return this.kind; } [DebuggerStepThrough] set { this.kind = value; } } ///Returns a PropertyInfo representing this property. internal PropertyInfo PropertyInfo { [DebuggerStepThrough] get { return this.propertyInfo; } } ///Returns the ///this property refers to, if applicable. /// In MEST (multiple entity sets per type) scenarios, the specific /// resource container may vary depending on the container (entity set) /// of type that has holds this property. /// /// In this case, the value of this property will be a representative /// container for security purposes, meaning that all associated /// containers will have identical rights. /// internal ResourceContainer ResourceContainer { [DebuggerStepThrough] get { return this.resourceContainer; } } ///The kind of type this property has in relation to the data service. internal ResourceTypeKind TypeKind { get { if (this.IsOfKind(ResourcePropertyKind.Primitive)) { return ResourceTypeKind.Primitive; } else if (this.kind == ResourcePropertyKind.ResourceReference || this.kind == ResourcePropertyKind.ResourceSetReference) { return ResourceTypeKind.EntityType; } else { Debug.Assert(this.kind == ResourcePropertyKind.ComplexType, "this.kind == ResourcePropertyKind.ComplexType"); return ResourceTypeKind.ComplexType; } } } ///MIME type for the property, if it's a primitive value; null if none specified. internal string MimeType { [DebuggerStepThrough] get { return this.mimeType; } } ///The property name. internal string Name { [DebuggerStepThrough] get { return this.name; } } ///The type of the property. internal Type Type { get { if (this.PropertyInfo != null) { return this.PropertyInfo.PropertyType; } else { if (this.Kind == ResourcePropertyKind.ResourceSetReference) { return typeof(System.Collections.Generic.IEnumerable<>).MakeGenericType(this.resourcePropertyType.Type); } else { return this.resourcePropertyType.Type; } } } } ////// The clr type that is property refers to [For collection, /// this will return the element of the collection, and not the /// collection]. /// internal Type ResourceClrType { [DebuggerStepThrough] get { return this.resourcePropertyType.Type; } } ////// The resource type that is property refers to [For collection, /// this will return the element of the collection, and not the /// collection]. /// internal ResourceType ResourceType { [DebuggerStepThrough] get { return this.resourcePropertyType; } } ///Returns the value of the property. /// The object whose property value will be returned. ///The property value for the internal object GetValue(object instance) { Debug.Assert(instance != null, "instance != null"); try { return this.getMethod.Invoke(instance, null); } catch (TargetInvocationException exception) { ErrorHandler.HandleTargetInvocationException(exception); throw; } } ///parameter. Sets the value of the property. /// The object whose property needs to be set. /// new value for the property. internal void SetValue(object instance, object propertyValue) { Debug.Assert(instance != null, "instance != null"); try { if (this.setMethod == null) { throw DataServiceException.CreateBadRequestError(Strings.BadRequest_PropertyValueCannotBeSet(this.Name)); } this.setMethod.Invoke(instance, new object[] { propertyValue }); } catch (TargetInvocationException exception) { ErrorHandler.HandleTargetInvocationException(exception); throw; } catch (ArgumentException exception) { throw DataServiceException.CreateBadRequestError(Strings.BadRequest_ErrorInSettingPropertyValue(this.Name), exception); } } ////// return true if this property is of the given kind /// /// flag which needs to be checked on the current property kind ///true if the current property is of the given kind internal bool IsOfKind(ResourcePropertyKind checkKind) { return ResourceProperty.IsOfKind(this.kind, checkKind); } #if ASTORIA_CONTAINMENT ////// Sets all properties for the target in a containment relationship. /// /// Property names of mapped keys in child (target) container. /// Property names of mapped keys in parent container. /// Container of target (child) entities. [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Maintainability", "CA1500:VariableNamesShouldNotMatchFieldNames", MessageId = "containmentChildKeys", Justification = "1:1 mapping")] [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Maintainability", "CA1500:VariableNamesShouldNotMatchFieldNames", MessageId = "containmentParentKeys", Justification = "1:1 mapping")] [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Maintainability", "CA1500:VariableNamesShouldNotMatchFieldNames", MessageId = "containmentTarget", Justification = "1:1 mapping")] internal void SetupContainmentTarget( string[] containmentChildKeys, string[] containmentParentKeys, ResourceContainer containmentTarget) { Debug.Assert(containmentChildKeys != null, "containmentChildKeys != null"); Debug.Assert(containmentParentKeys != null, "containmentParentKeys != null"); Debug.Assert(containmentTarget != null, "containmentTarget != null"); Debug.Assert( this.containmentChildKeys == null, "this.containmentChildKeys == null -- otherwise the navigation property has more than one target"); Debug.Assert( this.IsOfKind(ResourcePropertyKind.ResourceSetReference), "this.IsOfKind(ResourcePropertyKind.ResourceSetReference) -- otherwise this cannot be a containment source."); this.containmentChildKeys = containmentChildKeys; this.containmentParentKeys = containmentParentKeys; this.containmentTarget = containmentTarget; } #endif ////// return true if the given property kind is of the given kind /// /// kind of the property /// flag which needs to be checked on property kind ///true if the kind flag is set on the given property kind private static bool IsOfKind(ResourcePropertyKind propertyKind, ResourcePropertyKind kind) { return ((propertyKind & kind) == kind); } ////// Validates that the given property kind is valid /// /// property kind is valid [Conditional("DEBUG")] private static void DebugIsValidPropertyKind(ResourcePropertyKind propertyKind) { if (ResourceProperty.IsOfKind(propertyKind, ResourcePropertyKind.ResourceReference)) { Debug.Assert( propertyKind == ResourcePropertyKind.ResourceReference || propertyKind == (ResourcePropertyKind.ResourceReference | ResourcePropertyKind.OpenProperty), "reference property can't have any flags set"); } else if (ResourceProperty.IsOfKind(propertyKind, ResourcePropertyKind.ResourceSetReference)) { Debug.Assert( propertyKind == ResourcePropertyKind.ResourceSetReference || propertyKind == (ResourcePropertyKind.ResourceSetReference | ResourcePropertyKind.OpenProperty), "setreference property can't have any flags set"); } else if (ResourceProperty.IsOfKind(propertyKind, ResourcePropertyKind.ComplexType)) { Debug.Assert(propertyKind == ResourcePropertyKind.ComplexType, "complex property can't have any flags set"); } else { Debug.Assert(ResourceProperty.IsOfKind(propertyKind, ResourcePropertyKind.Primitive), "property must be primitive"); Debug.Assert(propertyKind != ResourcePropertyKind.Key, "property can't be alone set to key"); ResourcePropertyKind all = ResourcePropertyKind.ComplexType | ResourcePropertyKind.Key | ResourcePropertyKind.Primitive | ResourcePropertyKind.ResourceReference | ResourcePropertyKind.ResourceSetReference | ResourcePropertyKind.OpenProperty; Debug.Assert((propertyKind | all) == all, "no higher bits must be set on the propertyKind"); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Win32.cs
- PassportPrincipal.cs
- KeyValuePair.cs
- IndentTextWriter.cs
- GeneralTransform3D.cs
- TCPListener.cs
- CompilationLock.cs
- BindableTemplateBuilder.cs
- RequestBringIntoViewEventArgs.cs
- CssTextWriter.cs
- XmlValueConverter.cs
- CodeEntryPointMethod.cs
- BitConverter.cs
- ColorConverter.cs
- DataGridColumn.cs
- ValidatedControlConverter.cs
- EncodingInfo.cs
- CustomBindingElement.cs
- SchemaObjectWriter.cs
- HtmlButton.cs
- ByteStack.cs
- WindowsRichEditRange.cs
- UriParserTemplates.cs
- SortAction.cs
- DifferencingCollection.cs
- ToolStripDesignerAvailabilityAttribute.cs
- BindingManagerDataErrorEventArgs.cs
- _FixedSizeReader.cs
- PtsHost.cs
- ArraySet.cs
- OutputScope.cs
- PageCodeDomTreeGenerator.cs
- ReliabilityContractAttribute.cs
- mediaeventshelper.cs
- input.cs
- __Filters.cs
- WebServiceMethodData.cs
- HtmlElementEventArgs.cs
- SimpleBitVector32.cs
- PaintValueEventArgs.cs
- PointHitTestResult.cs
- MissingSatelliteAssemblyException.cs
- ContentElementAutomationPeer.cs
- RoutedEvent.cs
- SecureUICommand.cs
- PropertyPushdownHelper.cs
- WorkflowOperationErrorHandler.cs
- EntitySet.cs
- metadatamappinghashervisitor.hashsourcebuilder.cs
- _ListenerAsyncResult.cs
- ComEventsInfo.cs
- Accessible.cs
- HttpHeaderCollection.cs
- ObjectStateFormatter.cs
- SoapInteropTypes.cs
- CoTaskMemHandle.cs
- SchemaEntity.cs
- SystemEvents.cs
- ImageSourceConverter.cs
- ArithmeticLiteral.cs
- XhtmlTextWriter.cs
- GACIdentityPermission.cs
- XPathParser.cs
- StyleReferenceConverter.cs
- ObjectComplexPropertyMapping.cs
- TableChangeProcessor.cs
- ContextStaticAttribute.cs
- QuerySubExprEliminator.cs
- CodeDirectionExpression.cs
- Identifier.cs
- MatrixTransform3D.cs
- KeyEvent.cs
- Utils.cs
- DataGridClipboardHelper.cs
- TextDecorationCollectionConverter.cs
- TextDecorationCollectionConverter.cs
- WsdlInspector.cs
- JsonServiceDocumentSerializer.cs
- BufferedWebEventProvider.cs
- ReadOnlyHierarchicalDataSourceView.cs
- Conditional.cs
- SqlRowUpdatingEvent.cs
- TypeViewSchema.cs
- ErrorInfoXmlDocument.cs
- ConfigurationPropertyAttribute.cs
- TableProviderWrapper.cs
- ServerValidateEventArgs.cs
- Light.cs
- DataGridViewRowErrorTextNeededEventArgs.cs
- AdornerHitTestResult.cs
- OleDbCommandBuilder.cs
- EventSinkHelperWriter.cs
- FormsIdentity.cs
- ServiceModelDictionary.cs
- PrintDialogException.cs
- DictionaryEntry.cs
- errorpatternmatcher.cs
- CellQuery.cs
- ImageDrawing.cs
- Vector.cs