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
- ActivityTrace.cs
- Fonts.cs
- AutomationAttributeInfo.cs
- HttpModuleActionCollection.cs
- EmptyCollection.cs
- PtsHost.cs
- BulletChrome.cs
- DataGridTable.cs
- CorrelationService.cs
- _AutoWebProxyScriptWrapper.cs
- XDRSchema.cs
- DBSqlParser.cs
- EtwProvider.cs
- DefaultMergeHelper.cs
- TextFindEngine.cs
- BitmapEffectInputData.cs
- TextRangeAdaptor.cs
- HttpCacheVaryByContentEncodings.cs
- ClusterSafeNativeMethods.cs
- _NestedSingleAsyncResult.cs
- ParameterCollection.cs
- SchemaCollectionPreprocessor.cs
- XmlUrlResolver.cs
- COM2ExtendedBrowsingHandler.cs
- ScrollPattern.cs
- TakeOrSkipQueryOperator.cs
- FormsAuthenticationUser.cs
- HttpException.cs
- MatrixTransform3D.cs
- Ticks.cs
- Script.cs
- BufferBuilder.cs
- SqlDataSourceDesigner.cs
- StandardOleMarshalObject.cs
- DecimalStorage.cs
- MultiSelector.cs
- PeerNameRecordCollection.cs
- HelpPage.cs
- TargetControlTypeAttribute.cs
- CompilerGlobalScopeAttribute.cs
- FixedElement.cs
- SuppressIldasmAttribute.cs
- SafeLibraryHandle.cs
- BitmapVisualManager.cs
- ManagementObject.cs
- RequestCacheEntry.cs
- IntSecurity.cs
- InfoCardBinaryReader.cs
- DataGridItemEventArgs.cs
- Viewport2DVisual3D.cs
- XamlSerializationHelper.cs
- RequestCache.cs
- DataSourceGeneratorException.cs
- GridSplitterAutomationPeer.cs
- SqlMethodAttribute.cs
- TailCallAnalyzer.cs
- Int64Converter.cs
- SystemKeyConverter.cs
- PolyBezierSegment.cs
- TextTreeTextNode.cs
- LinkedResource.cs
- SyndicationSerializer.cs
- UnhandledExceptionEventArgs.cs
- CalendarButton.cs
- MemberHolder.cs
- SystemThemeKey.cs
- QueryCursorEventArgs.cs
- ISAPIRuntime.cs
- SqlDataSource.cs
- CompilerCollection.cs
- MatrixCamera.cs
- DateTimeConverter2.cs
- LayoutUtils.cs
- MobileControlDesigner.cs
- _NestedMultipleAsyncResult.cs
- SpanIndex.cs
- InstanceLockException.cs
- PageSetupDialog.cs
- CharacterMetricsDictionary.cs
- MetadataArtifactLoaderResource.cs
- Section.cs
- RoleService.cs
- DrawingContextDrawingContextWalker.cs
- ImageSourceConverter.cs
- EntityContainerEmitter.cs
- SplitterPanelDesigner.cs
- ResXDataNode.cs
- Accessible.cs
- HttpPostedFile.cs
- ColorConvertedBitmap.cs
- LookupNode.cs
- IntSecurity.cs
- MsmqIntegrationBinding.cs
- Pkcs7Recipient.cs
- GenericTextProperties.cs
- XPathArrayIterator.cs
- SmtpDateTime.cs
- ServiceHostFactory.cs
- log.cs
- ListDictionary.cs