Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / clr / src / BCL / System / Security / Policy / Evidence.cs / 2 / Evidence.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== // // Evidence.cs // // Use this class to keep a list of evidence associated with an Assembly // namespace System.Security.Policy { using System; using System.Collections; using System.IO; using System.Configuration.Assemblies; using System.Reflection; using System.Runtime.InteropServices; using System.Runtime.Remoting; using System.Runtime.Serialization; using System.Security.Util; using System.Security.Permissions; using System.Runtime.Serialization.Formatters.Binary; [Serializable] [System.Runtime.InteropServices.ComVisible(true)] public sealed class Evidence : ICollection { private IList m_hostList; private IList m_assemblyList; private bool m_locked; public Evidence() { m_hostList = null; m_assemblyList = null; m_locked = false; } public Evidence(Evidence evidence) { if (evidence == null) return; m_locked = false; Merge( evidence ); } public Evidence( Object[] hostEvidence, Object[] assemblyEvidence ) { m_locked = false; if (hostEvidence != null) { this.m_hostList = ArrayList.Synchronized( new ArrayList( hostEvidence ) ); } if (assemblyEvidence != null) { this.m_assemblyList = ArrayList.Synchronized( new ArrayList( assemblyEvidence ) ); } } internal Evidence(char[] buffer) { int position = 0; while (position < buffer.Length) { switch (buffer[position++]) { case BuiltInEvidenceHelper.idApplicationDirectory: { IBuiltInEvidence ad = new ApplicationDirectory(); position = ad.InitFromBuffer(buffer, position); AddAssembly(ad); break; } #if !FEATURE_PAL case BuiltInEvidenceHelper.idPublisher: { IBuiltInEvidence p = new Publisher(); position = p.InitFromBuffer(buffer, position); AddHost(p); break; } #endif // !FEATURE_PAL case BuiltInEvidenceHelper.idStrongName: { IBuiltInEvidence sn = new StrongName(); position = sn.InitFromBuffer(buffer, position); AddHost(sn); break; } case BuiltInEvidenceHelper.idZone: { IBuiltInEvidence z = new Zone(); position = z.InitFromBuffer(buffer, position); AddHost(z); break; } case BuiltInEvidenceHelper.idUrl: { IBuiltInEvidence u = new Url(); position = u.InitFromBuffer(buffer, position); AddHost(u); break; } case BuiltInEvidenceHelper.idSite: { IBuiltInEvidence s = new Site(); position = s.InitFromBuffer(buffer, position); AddHost(s); break; } case BuiltInEvidenceHelper.idPermissionRequestEvidence: { IBuiltInEvidence pre = new PermissionRequestEvidence(); position = pre.InitFromBuffer(buffer, position); AddHost(pre); break; } #if !FEATURE_PAL case BuiltInEvidenceHelper.idHash: { IBuiltInEvidence h = new Hash(); position = h.InitFromBuffer(buffer, position); AddHost(h); break; } #endif // !FEATURE_PAL case BuiltInEvidenceHelper.idGac: { IBuiltInEvidence g = new GacInstalled(); position = g.InitFromBuffer(buffer, position); AddHost(g); break; } default: throw new SerializationException(Environment.GetResourceString("Serialization_UnableToFixup")); } // switch } // while } public void AddHost(Object id) { if (m_hostList == null) m_hostList = ArrayList.Synchronized( new ArrayList() ); if (m_locked) new SecurityPermission( SecurityPermissionFlag.ControlEvidence ).Demand(); m_hostList.Add( id ); } public void AddAssembly(Object id) { if (m_assemblyList == null) m_assemblyList = ArrayList.Synchronized( new ArrayList() ); m_assemblyList.Add( id ); } public bool Locked { get { return m_locked; } set { if (!value) { new SecurityPermission( SecurityPermissionFlag.ControlEvidence ).Demand(); m_locked = false; } else { m_locked = true; } } } public void Merge( Evidence evidence ) { IEnumerator enumerator; if (evidence == null) return; if (evidence.m_hostList != null) { if (m_hostList == null) m_hostList = ArrayList.Synchronized( new ArrayList() ); if (evidence.m_hostList.Count != 0 && this.m_locked) new SecurityPermission( SecurityPermissionFlag.ControlEvidence ).Demand(); enumerator = evidence.m_hostList.GetEnumerator(); while (enumerator.MoveNext()) { m_hostList.Add( enumerator.Current ); } } if (evidence.m_assemblyList != null) { if (m_assemblyList == null) m_assemblyList = ArrayList.Synchronized( new ArrayList() ); enumerator = evidence.m_assemblyList.GetEnumerator(); while (enumerator.MoveNext()) { m_assemblyList.Add( enumerator.Current ); } } } // Same as merge, except only one instance of any one evidence type is // allowed. When duplicates are found, the evidence in the input // argument will have priority. internal void MergeWithNoDuplicates( Evidence evidence ) { IEnumerator oldEnumerator, newEnumerator; if (evidence == null) return; if (evidence.m_hostList != null) { if (m_hostList == null) m_hostList = ArrayList.Synchronized( new ArrayList() ); newEnumerator = evidence.m_hostList.GetEnumerator(); while (newEnumerator.MoveNext()) { Type newItemType = newEnumerator.Current.GetType(); oldEnumerator = m_hostList.GetEnumerator(); while (oldEnumerator.MoveNext()) { if (oldEnumerator.Current.GetType() == newItemType) { m_hostList.Remove(oldEnumerator.Current); break; } } m_hostList.Add( newEnumerator.Current ); } } if (evidence.m_assemblyList != null) { if (m_assemblyList == null) m_assemblyList = ArrayList.Synchronized( new ArrayList() ); newEnumerator = evidence.m_assemblyList.GetEnumerator(); while (newEnumerator.MoveNext()) { Type newItemType = newEnumerator.Current.GetType(); oldEnumerator = m_assemblyList.GetEnumerator(); while (oldEnumerator.MoveNext()) { if (oldEnumerator.Current.GetType() == newItemType) { m_assemblyList.Remove(oldEnumerator.Current); break; } } m_assemblyList.Add( newEnumerator.Current ); } } } // ICollection implementation public void CopyTo(Array array, int index) { int currentIndex = index; if (m_hostList != null) { m_hostList.CopyTo( array, currentIndex ); currentIndex += m_hostList.Count; } if (m_assemblyList != null) { m_assemblyList.CopyTo( array, currentIndex ); } } public IEnumerator GetHostEnumerator() { if (m_hostList == null) m_hostList = ArrayList.Synchronized( new ArrayList() ); return m_hostList.GetEnumerator(); } public IEnumerator GetAssemblyEnumerator() { if (m_assemblyList == null) m_assemblyList = ArrayList.Synchronized( new ArrayList() ); return m_assemblyList.GetEnumerator(); } public IEnumerator GetEnumerator() { return new EvidenceEnumerator( this ); } public int Count { get { return (m_hostList != null ? m_hostList.Count : 0) + (m_assemblyList != null ? m_assemblyList.Count : 0); } } public Object SyncRoot { get { return this; } } public bool IsSynchronized { get { return false; } } public bool IsReadOnly { get { return false; } } internal Evidence Copy() { // Try the fast way. Will only work if all evidence components implement IBuiltInEvidence char[] serEvidence = PolicyManager.MakeEvidenceArray(this, true); if (serEvidence != null) { return new Evidence(serEvidence); } // Use the general purpose formatter new PermissionSet( true ).Assert(); MemoryStream stream = new MemoryStream(); BinaryFormatter formatter = new BinaryFormatter(); formatter.Serialize( stream, this ); stream.Position = 0; return (Evidence)formatter.Deserialize( stream ); } internal Evidence ShallowCopy() { Evidence evidence = new Evidence(); IEnumerator enumerator; enumerator = this.GetHostEnumerator(); while (enumerator.MoveNext()) { evidence.AddHost( enumerator.Current ); } enumerator = this.GetAssemblyEnumerator(); while (enumerator.MoveNext()) { evidence.AddAssembly( enumerator.Current ); } return evidence; } [ComVisible(false)] public void Clear() { m_hostList = null; m_assemblyList = null; } [ComVisible(false)] public void RemoveType(Type t) { int i; for(i = 0; i < (m_hostList == null ? 0 : m_hostList.Count); i++) { if (m_hostList[i].GetType() == t) m_hostList.RemoveAt(i--); } for(i = 0; i < (m_assemblyList == null ? 0 : m_assemblyList.Count); i++) { if (m_assemblyList[i].GetType() == t) m_assemblyList.RemoveAt(i--); } } [ComVisible(false)] public override bool Equals( Object obj ) { Evidence other = obj as Evidence; if (other == null) return false; if (this.m_hostList != null && other.m_hostList != null) { if (this.m_hostList.Count != other.m_hostList.Count) return false; int count = this.m_hostList.Count; for (int i = 0; i < count; ++i) { bool found = false; for (int j = 0; j < count; ++j) { if (Object.Equals( this.m_hostList[i], other.m_hostList[j] )) { found = true; break; } } if (!found) return false; } } else if (this.m_hostList != null || other.m_hostList != null) { return false; } if (this.m_assemblyList != null && other.m_assemblyList != null) { if (this.m_assemblyList.Count != other.m_assemblyList.Count) return false; int count = this.m_assemblyList.Count; for (int i = 0; i < count; ++i) { bool found = false; for (int j = 0; j < count; ++j) { if (Object.Equals( m_assemblyList[i], other.m_assemblyList[j] )) { found = true; break; } } if (!found) return false; } } else if (this.m_assemblyList != null || other.m_assemblyList != null) { return false; } return true; } [ComVisible(false)] public override int GetHashCode() { int accumulator = 0; if (this.m_hostList != null) { int count = this.m_hostList.Count; for (int i = 0; i < count; ++i) { accumulator = accumulator ^ this.m_hostList[i].GetHashCode(); } } if (this.m_assemblyList != null) { int count = this.m_assemblyList.Count; for (int i = 0; i < count; ++i) { accumulator = accumulator ^ this.m_assemblyList[i].GetHashCode(); } } return accumulator; } internal Object FindType(Type t) { int i; for(i = 0; i < (m_hostList == null ? 0 : m_hostList.Count); i++) { if (m_hostList[i].GetType() == t) return m_hostList[i]; } for(i = 0; i < (m_assemblyList == null ? 0 : m_assemblyList.Count); i++) { if (m_assemblyList[i].GetType() == t) return m_hostList[i]; } return null; } ////// Mark all of the evidence in the collection as having been used /// internal void MarkAllEvidenceAsUsed() { foreach (object o in this) { IDelayEvaluatedEvidence delayEvidence = o as IDelayEvaluatedEvidence; if (delayEvidence != null) { delayEvidence.MarkUsed(); } } } ////// Determine if delay evaluated strong name evidence is contained in this collection, and if so /// if it was used during policy evaluation. /// /// This method is called from the VM in SecurityPolicy::WasStrongNameEvidenceUsed /// private bool WasStrongNameEvidenceUsed() { IDelayEvaluatedEvidence snEvidence = FindType(typeof(StrongName)) as IDelayEvaluatedEvidence; return snEvidence != null && snEvidence.WasUsed; } } sealed class EvidenceEnumerator : IEnumerator { private bool m_first; private Evidence m_evidence; private IEnumerator m_enumerator; public EvidenceEnumerator( Evidence evidence ) { this.m_evidence = evidence; Reset(); } public bool MoveNext() { if (m_enumerator == null) { return false; } if (!m_enumerator.MoveNext()) { if (m_first) { m_enumerator = m_evidence.GetAssemblyEnumerator(); m_first = false; if (m_enumerator != null) return m_enumerator.MoveNext(); else return false; } else { return false; } } return true; } public Object Current { get { if (m_enumerator == null) return null; else return m_enumerator.Current; } } public void Reset() { this.m_first = true; if (m_evidence != null) { m_enumerator = m_evidence.GetHostEnumerator(); } else { m_enumerator = null; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== // // Evidence.cs // // Use this class to keep a list of evidence associated with an Assembly // namespace System.Security.Policy { using System; using System.Collections; using System.IO; using System.Configuration.Assemblies; using System.Reflection; using System.Runtime.InteropServices; using System.Runtime.Remoting; using System.Runtime.Serialization; using System.Security.Util; using System.Security.Permissions; using System.Runtime.Serialization.Formatters.Binary; [Serializable] [System.Runtime.InteropServices.ComVisible(true)] public sealed class Evidence : ICollection { private IList m_hostList; private IList m_assemblyList; private bool m_locked; public Evidence() { m_hostList = null; m_assemblyList = null; m_locked = false; } public Evidence(Evidence evidence) { if (evidence == null) return; m_locked = false; Merge( evidence ); } public Evidence( Object[] hostEvidence, Object[] assemblyEvidence ) { m_locked = false; if (hostEvidence != null) { this.m_hostList = ArrayList.Synchronized( new ArrayList( hostEvidence ) ); } if (assemblyEvidence != null) { this.m_assemblyList = ArrayList.Synchronized( new ArrayList( assemblyEvidence ) ); } } internal Evidence(char[] buffer) { int position = 0; while (position < buffer.Length) { switch (buffer[position++]) { case BuiltInEvidenceHelper.idApplicationDirectory: { IBuiltInEvidence ad = new ApplicationDirectory(); position = ad.InitFromBuffer(buffer, position); AddAssembly(ad); break; } #if !FEATURE_PAL case BuiltInEvidenceHelper.idPublisher: { IBuiltInEvidence p = new Publisher(); position = p.InitFromBuffer(buffer, position); AddHost(p); break; } #endif // !FEATURE_PAL case BuiltInEvidenceHelper.idStrongName: { IBuiltInEvidence sn = new StrongName(); position = sn.InitFromBuffer(buffer, position); AddHost(sn); break; } case BuiltInEvidenceHelper.idZone: { IBuiltInEvidence z = new Zone(); position = z.InitFromBuffer(buffer, position); AddHost(z); break; } case BuiltInEvidenceHelper.idUrl: { IBuiltInEvidence u = new Url(); position = u.InitFromBuffer(buffer, position); AddHost(u); break; } case BuiltInEvidenceHelper.idSite: { IBuiltInEvidence s = new Site(); position = s.InitFromBuffer(buffer, position); AddHost(s); break; } case BuiltInEvidenceHelper.idPermissionRequestEvidence: { IBuiltInEvidence pre = new PermissionRequestEvidence(); position = pre.InitFromBuffer(buffer, position); AddHost(pre); break; } #if !FEATURE_PAL case BuiltInEvidenceHelper.idHash: { IBuiltInEvidence h = new Hash(); position = h.InitFromBuffer(buffer, position); AddHost(h); break; } #endif // !FEATURE_PAL case BuiltInEvidenceHelper.idGac: { IBuiltInEvidence g = new GacInstalled(); position = g.InitFromBuffer(buffer, position); AddHost(g); break; } default: throw new SerializationException(Environment.GetResourceString("Serialization_UnableToFixup")); } // switch } // while } public void AddHost(Object id) { if (m_hostList == null) m_hostList = ArrayList.Synchronized( new ArrayList() ); if (m_locked) new SecurityPermission( SecurityPermissionFlag.ControlEvidence ).Demand(); m_hostList.Add( id ); } public void AddAssembly(Object id) { if (m_assemblyList == null) m_assemblyList = ArrayList.Synchronized( new ArrayList() ); m_assemblyList.Add( id ); } public bool Locked { get { return m_locked; } set { if (!value) { new SecurityPermission( SecurityPermissionFlag.ControlEvidence ).Demand(); m_locked = false; } else { m_locked = true; } } } public void Merge( Evidence evidence ) { IEnumerator enumerator; if (evidence == null) return; if (evidence.m_hostList != null) { if (m_hostList == null) m_hostList = ArrayList.Synchronized( new ArrayList() ); if (evidence.m_hostList.Count != 0 && this.m_locked) new SecurityPermission( SecurityPermissionFlag.ControlEvidence ).Demand(); enumerator = evidence.m_hostList.GetEnumerator(); while (enumerator.MoveNext()) { m_hostList.Add( enumerator.Current ); } } if (evidence.m_assemblyList != null) { if (m_assemblyList == null) m_assemblyList = ArrayList.Synchronized( new ArrayList() ); enumerator = evidence.m_assemblyList.GetEnumerator(); while (enumerator.MoveNext()) { m_assemblyList.Add( enumerator.Current ); } } } // Same as merge, except only one instance of any one evidence type is // allowed. When duplicates are found, the evidence in the input // argument will have priority. internal void MergeWithNoDuplicates( Evidence evidence ) { IEnumerator oldEnumerator, newEnumerator; if (evidence == null) return; if (evidence.m_hostList != null) { if (m_hostList == null) m_hostList = ArrayList.Synchronized( new ArrayList() ); newEnumerator = evidence.m_hostList.GetEnumerator(); while (newEnumerator.MoveNext()) { Type newItemType = newEnumerator.Current.GetType(); oldEnumerator = m_hostList.GetEnumerator(); while (oldEnumerator.MoveNext()) { if (oldEnumerator.Current.GetType() == newItemType) { m_hostList.Remove(oldEnumerator.Current); break; } } m_hostList.Add( newEnumerator.Current ); } } if (evidence.m_assemblyList != null) { if (m_assemblyList == null) m_assemblyList = ArrayList.Synchronized( new ArrayList() ); newEnumerator = evidence.m_assemblyList.GetEnumerator(); while (newEnumerator.MoveNext()) { Type newItemType = newEnumerator.Current.GetType(); oldEnumerator = m_assemblyList.GetEnumerator(); while (oldEnumerator.MoveNext()) { if (oldEnumerator.Current.GetType() == newItemType) { m_assemblyList.Remove(oldEnumerator.Current); break; } } m_assemblyList.Add( newEnumerator.Current ); } } } // ICollection implementation public void CopyTo(Array array, int index) { int currentIndex = index; if (m_hostList != null) { m_hostList.CopyTo( array, currentIndex ); currentIndex += m_hostList.Count; } if (m_assemblyList != null) { m_assemblyList.CopyTo( array, currentIndex ); } } public IEnumerator GetHostEnumerator() { if (m_hostList == null) m_hostList = ArrayList.Synchronized( new ArrayList() ); return m_hostList.GetEnumerator(); } public IEnumerator GetAssemblyEnumerator() { if (m_assemblyList == null) m_assemblyList = ArrayList.Synchronized( new ArrayList() ); return m_assemblyList.GetEnumerator(); } public IEnumerator GetEnumerator() { return new EvidenceEnumerator( this ); } public int Count { get { return (m_hostList != null ? m_hostList.Count : 0) + (m_assemblyList != null ? m_assemblyList.Count : 0); } } public Object SyncRoot { get { return this; } } public bool IsSynchronized { get { return false; } } public bool IsReadOnly { get { return false; } } internal Evidence Copy() { // Try the fast way. Will only work if all evidence components implement IBuiltInEvidence char[] serEvidence = PolicyManager.MakeEvidenceArray(this, true); if (serEvidence != null) { return new Evidence(serEvidence); } // Use the general purpose formatter new PermissionSet( true ).Assert(); MemoryStream stream = new MemoryStream(); BinaryFormatter formatter = new BinaryFormatter(); formatter.Serialize( stream, this ); stream.Position = 0; return (Evidence)formatter.Deserialize( stream ); } internal Evidence ShallowCopy() { Evidence evidence = new Evidence(); IEnumerator enumerator; enumerator = this.GetHostEnumerator(); while (enumerator.MoveNext()) { evidence.AddHost( enumerator.Current ); } enumerator = this.GetAssemblyEnumerator(); while (enumerator.MoveNext()) { evidence.AddAssembly( enumerator.Current ); } return evidence; } [ComVisible(false)] public void Clear() { m_hostList = null; m_assemblyList = null; } [ComVisible(false)] public void RemoveType(Type t) { int i; for(i = 0; i < (m_hostList == null ? 0 : m_hostList.Count); i++) { if (m_hostList[i].GetType() == t) m_hostList.RemoveAt(i--); } for(i = 0; i < (m_assemblyList == null ? 0 : m_assemblyList.Count); i++) { if (m_assemblyList[i].GetType() == t) m_assemblyList.RemoveAt(i--); } } [ComVisible(false)] public override bool Equals( Object obj ) { Evidence other = obj as Evidence; if (other == null) return false; if (this.m_hostList != null && other.m_hostList != null) { if (this.m_hostList.Count != other.m_hostList.Count) return false; int count = this.m_hostList.Count; for (int i = 0; i < count; ++i) { bool found = false; for (int j = 0; j < count; ++j) { if (Object.Equals( this.m_hostList[i], other.m_hostList[j] )) { found = true; break; } } if (!found) return false; } } else if (this.m_hostList != null || other.m_hostList != null) { return false; } if (this.m_assemblyList != null && other.m_assemblyList != null) { if (this.m_assemblyList.Count != other.m_assemblyList.Count) return false; int count = this.m_assemblyList.Count; for (int i = 0; i < count; ++i) { bool found = false; for (int j = 0; j < count; ++j) { if (Object.Equals( m_assemblyList[i], other.m_assemblyList[j] )) { found = true; break; } } if (!found) return false; } } else if (this.m_assemblyList != null || other.m_assemblyList != null) { return false; } return true; } [ComVisible(false)] public override int GetHashCode() { int accumulator = 0; if (this.m_hostList != null) { int count = this.m_hostList.Count; for (int i = 0; i < count; ++i) { accumulator = accumulator ^ this.m_hostList[i].GetHashCode(); } } if (this.m_assemblyList != null) { int count = this.m_assemblyList.Count; for (int i = 0; i < count; ++i) { accumulator = accumulator ^ this.m_assemblyList[i].GetHashCode(); } } return accumulator; } internal Object FindType(Type t) { int i; for(i = 0; i < (m_hostList == null ? 0 : m_hostList.Count); i++) { if (m_hostList[i].GetType() == t) return m_hostList[i]; } for(i = 0; i < (m_assemblyList == null ? 0 : m_assemblyList.Count); i++) { if (m_assemblyList[i].GetType() == t) return m_hostList[i]; } return null; } ////// Mark all of the evidence in the collection as having been used /// internal void MarkAllEvidenceAsUsed() { foreach (object o in this) { IDelayEvaluatedEvidence delayEvidence = o as IDelayEvaluatedEvidence; if (delayEvidence != null) { delayEvidence.MarkUsed(); } } } ////// Determine if delay evaluated strong name evidence is contained in this collection, and if so /// if it was used during policy evaluation. /// /// This method is called from the VM in SecurityPolicy::WasStrongNameEvidenceUsed /// private bool WasStrongNameEvidenceUsed() { IDelayEvaluatedEvidence snEvidence = FindType(typeof(StrongName)) as IDelayEvaluatedEvidence; return snEvidence != null && snEvidence.WasUsed; } } sealed class EvidenceEnumerator : IEnumerator { private bool m_first; private Evidence m_evidence; private IEnumerator m_enumerator; public EvidenceEnumerator( Evidence evidence ) { this.m_evidence = evidence; Reset(); } public bool MoveNext() { if (m_enumerator == null) { return false; } if (!m_enumerator.MoveNext()) { if (m_first) { m_enumerator = m_evidence.GetAssemblyEnumerator(); m_first = false; if (m_enumerator != null) return m_enumerator.MoveNext(); else return false; } else { return false; } } return true; } public Object Current { get { if (m_enumerator == null) return null; else return m_enumerator.Current; } } public void Reset() { this.m_first = true; if (m_evidence != null) { m_enumerator = m_evidence.GetHostEnumerator(); } else { m_enumerator = null; } } } } // 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
- ExternalException.cs
- MulticastDelegate.cs
- TypeForwardedToAttribute.cs
- WebPartVerb.cs
- PtsHost.cs
- DeclarationUpdate.cs
- ComEventsMethod.cs
- PublisherMembershipCondition.cs
- MouseBinding.cs
- HelpKeywordAttribute.cs
- HitTestWithPointDrawingContextWalker.cs
- TabPage.cs
- SignatureGenerator.cs
- IMembershipProvider.cs
- ObjectViewListener.cs
- TextFormatterHost.cs
- ExpressionConverter.cs
- DataGridSortCommandEventArgs.cs
- CollectionViewSource.cs
- WebPartDisplayModeCancelEventArgs.cs
- Stack.cs
- StylusLogic.cs
- GroupStyle.cs
- FormsIdentity.cs
- ExpressionTextBox.xaml.cs
- ApplicationDirectoryMembershipCondition.cs
- BmpBitmapDecoder.cs
- SettingsSection.cs
- TPLETWProvider.cs
- HorizontalAlignConverter.cs
- RuntimeConfig.cs
- HiddenFieldPageStatePersister.cs
- securitycriticaldata.cs
- RNGCryptoServiceProvider.cs
- GridSplitterAutomationPeer.cs
- StreamWriter.cs
- OutOfProcStateClientManager.cs
- GradientBrush.cs
- DataBoundLiteralControl.cs
- ComponentEvent.cs
- SafeHandles.cs
- MediaElementAutomationPeer.cs
- ChildTable.cs
- CommandExpr.cs
- IdnMapping.cs
- TimelineCollection.cs
- MetabaseReader.cs
- InputLangChangeRequestEvent.cs
- ResolveNameEventArgs.cs
- AttributeInfo.cs
- While.cs
- TcpHostedTransportConfiguration.cs
- DefaultDialogButtons.cs
- DataListCommandEventArgs.cs
- DataSourceComponent.cs
- SystemUdpStatistics.cs
- StateRuntime.cs
- shaperfactory.cs
- PanelDesigner.cs
- ArrayWithOffset.cs
- FtpRequestCacheValidator.cs
- Rect.cs
- EntityCommandCompilationException.cs
- NamedPipeWorkerProcess.cs
- PropertyInfoSet.cs
- XmlSerializableWriter.cs
- AssemblyNameProxy.cs
- ControlPersister.cs
- DataBindEngine.cs
- ZipIOExtraField.cs
- PropertyFilter.cs
- TextProviderWrapper.cs
- ElementMarkupObject.cs
- DataBindEngine.cs
- OdbcCommandBuilder.cs
- XmlDataSourceNodeDescriptor.cs
- InputScopeConverter.cs
- HttpHandlerAction.cs
- BinaryMethodMessage.cs
- SchemaNamespaceManager.cs
- FrugalList.cs
- EventMappingSettings.cs
- Qualifier.cs
- BaseDataList.cs
- SkewTransform.cs
- RelatedImageListAttribute.cs
- HttpCapabilitiesBase.cs
- Interfaces.cs
- XmlTextEncoder.cs
- HttpConfigurationContext.cs
- ExceptionRoutedEventArgs.cs
- Soap.cs
- Stack.cs
- Baml6Assembly.cs
- NetworkInterface.cs
- ComponentChangingEvent.cs
- NavigatorInput.cs
- ListViewItemCollectionEditor.cs
- FlowDocumentReaderAutomationPeer.cs
- OracleTimeSpan.cs