Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / BCL / System / Security / PermissionSetEnumerator.cs / 1305376 / PermissionSetEnumerator.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== //[....] // namespace System.Security { //PermissionSetEnumerator.cs using System; using System.Collections; using TokenBasedSetEnumerator = System.Security.Util.TokenBasedSetEnumerator; using TokenBasedSet = System.Security.Util.TokenBasedSet; internal class PermissionSetEnumerator : IEnumerator { PermissionSetEnumeratorInternal enm; public Object Current { get { return enm.Current; } } public bool MoveNext() { return enm.MoveNext(); } public void Reset() { enm.Reset(); } internal PermissionSetEnumerator(PermissionSet permSet) { enm = new PermissionSetEnumeratorInternal(permSet); } } internal struct PermissionSetEnumeratorInternal { private PermissionSet m_permSet; private TokenBasedSetEnumerator enm; public Object Current { get { return enm.Current; } } internal PermissionSetEnumeratorInternal(PermissionSet permSet) { m_permSet = permSet; enm = new TokenBasedSetEnumerator(permSet.m_permSet); } public int GetCurrentIndex() { return enm.Index; } public void Reset() { enm.Reset(); } public bool MoveNext() { while (enm.MoveNext()) { Object obj = enm.Current; IPermission perm = obj as IPermission; if (perm != null) { enm.Current = perm; return true; } #if FEATURE_CAS_POLICY SecurityElement elem = obj as SecurityElement; if (elem != null) { perm = m_permSet.CreatePermission(elem, enm.Index); if (perm != null) { enm.Current = perm; return true; } } #endif // FEATURE_CAS_POLICY } return false; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== //[....] // namespace System.Security { //PermissionSetEnumerator.cs using System; using System.Collections; using TokenBasedSetEnumerator = System.Security.Util.TokenBasedSetEnumerator; using TokenBasedSet = System.Security.Util.TokenBasedSet; internal class PermissionSetEnumerator : IEnumerator { PermissionSetEnumeratorInternal enm; public Object Current { get { return enm.Current; } } public bool MoveNext() { return enm.MoveNext(); } public void Reset() { enm.Reset(); } internal PermissionSetEnumerator(PermissionSet permSet) { enm = new PermissionSetEnumeratorInternal(permSet); } } internal struct PermissionSetEnumeratorInternal { private PermissionSet m_permSet; private TokenBasedSetEnumerator enm; public Object Current { get { return enm.Current; } } internal PermissionSetEnumeratorInternal(PermissionSet permSet) { m_permSet = permSet; enm = new TokenBasedSetEnumerator(permSet.m_permSet); } public int GetCurrentIndex() { return enm.Index; } public void Reset() { enm.Reset(); } public bool MoveNext() { while (enm.MoveNext()) { Object obj = enm.Current; IPermission perm = obj as IPermission; if (perm != null) { enm.Current = perm; return true; } #if FEATURE_CAS_POLICY SecurityElement elem = obj as SecurityElement; if (elem != null) { perm = m_permSet.CreatePermission(elem, enm.Index); if (perm != null) { enm.Current = perm; return true; } } #endif // FEATURE_CAS_POLICY } return false; } } } // 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
- ProgressBarAutomationPeer.cs
- DataSourceCache.cs
- SqlRewriteScalarSubqueries.cs
- PagerSettings.cs
- MetadataItemEmitter.cs
- DynamicPropertyHolder.cs
- SQLInt16Storage.cs
- CommandField.cs
- DecimalKeyFrameCollection.cs
- SimpleBitVector32.cs
- XmlElementAttributes.cs
- UnaryQueryOperator.cs
- Underline.cs
- PeekCompletedEventArgs.cs
- TdsParserSessionPool.cs
- ProcessHostServerConfig.cs
- ParameterCollection.cs
- ImageResources.Designer.cs
- DesignerProperties.cs
- DurationConverter.cs
- StrokeCollectionDefaultValueFactory.cs
- Attributes.cs
- RawUIStateInputReport.cs
- MulticastOption.cs
- OAVariantLib.cs
- DataGridViewElement.cs
- TraceUtils.cs
- NavigationExpr.cs
- TypeLoadException.cs
- CreatingCookieEventArgs.cs
- HwndHost.cs
- SafeNativeMethods.cs
- MetadataArtifactLoaderCompositeFile.cs
- SafeRightsManagementHandle.cs
- WindowsFont.cs
- PrintController.cs
- FileSystemWatcher.cs
- SegmentTree.cs
- WindowsImpersonationContext.cs
- TcpTransportBindingElement.cs
- StrokeNodeEnumerator.cs
- HealthMonitoringSection.cs
- DataSourceHelper.cs
- ParallelLoopState.cs
- EntitySet.cs
- ActivityUtilities.cs
- ExplicitDiscriminatorMap.cs
- TemplateContentLoader.cs
- HttpServerVarsCollection.cs
- BypassElement.cs
- ValidatingReaderNodeData.cs
- ClassGenerator.cs
- PropertyBuilder.cs
- AttributeSetAction.cs
- DesignTimeParseData.cs
- Utils.cs
- ZipIOModeEnforcingStream.cs
- HandleCollector.cs
- AddInController.cs
- sitestring.cs
- ProfilePropertySettings.cs
- TryCatch.cs
- DataGridViewCellValidatingEventArgs.cs
- OneWayBindingElementImporter.cs
- RegexBoyerMoore.cs
- FieldAccessException.cs
- MultipartContentParser.cs
- XmlDomTextWriter.cs
- RemoteWebConfigurationHost.cs
- InternalDuplexChannelFactory.cs
- BitmapEffectGroup.cs
- BulletedListEventArgs.cs
- EnumerableWrapperWeakToStrong.cs
- StylusLogic.cs
- WebScriptServiceHost.cs
- JsonReader.cs
- _NegotiateClient.cs
- DataServiceHost.cs
- ExpressionBindingsDialog.cs
- DocumentSequenceHighlightLayer.cs
- SpellCheck.cs
- Bitmap.cs
- TrueReadOnlyCollection.cs
- ValuePattern.cs
- BufferedWebEventProvider.cs
- XmlDataSource.cs
- Translator.cs
- MsmqIntegrationChannelFactory.cs
- Switch.cs
- JsonCollectionDataContract.cs
- Attachment.cs
- OrCondition.cs
- RadioButtonFlatAdapter.cs
- shaperfactoryquerycachekey.cs
- SecureConversationSecurityTokenParameters.cs
- precedingsibling.cs
- DesignerPerfEventProvider.cs
- TableLayoutPanelCellPosition.cs
- BatchStream.cs
- GraphicsContext.cs