Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / clr / src / BCL / System / Security / PermissionSetEnumerator.cs / 1 / 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; } SecurityElement elem = obj as SecurityElement; if (elem != null) { perm = m_permSet.CreatePermission(elem, enm.Index); if (perm != null) { enm.Current = perm; return true; } } } return false; } } }
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- HandlerBase.cs
- ActivityXRefPropertyEditor.cs
- ScriptControl.cs
- ButtonFlatAdapter.cs
- ScrollBarAutomationPeer.cs
- BuilderPropertyEntry.cs
- CopyOnWriteList.cs
- XmlName.cs
- TCEAdapterGenerator.cs
- MemoryFailPoint.cs
- RectConverter.cs
- JournalNavigationScope.cs
- HttpProfileBase.cs
- ConnectionStringsSection.cs
- DriveInfo.cs
- StringReader.cs
- MarshalDirectiveException.cs
- ButtonAutomationPeer.cs
- ServiceParser.cs
- DoubleAnimation.cs
- DictionaryItemsCollection.cs
- SqlDataSourceCommandEventArgs.cs
- PropertyKey.cs
- XmlParserContext.cs
- BuildProvider.cs
- LiteralSubsegment.cs
- GenerateTemporaryTargetAssembly.cs
- SqlSelectStatement.cs
- DataGridViewSelectedRowCollection.cs
- cryptoapiTransform.cs
- CodeTypeDelegate.cs
- XmlNodeComparer.cs
- PeerNearMe.cs
- WSTrustFeb2005.cs
- ConnectionStringsSection.cs
- XmlSchemaExternal.cs
- CodeDomConfigurationHandler.cs
- CodeAttributeArgument.cs
- DispatchChannelSink.cs
- VisualTreeUtils.cs
- DataObjectFieldAttribute.cs
- ConstructorExpr.cs
- InternalsVisibleToAttribute.cs
- HwndSource.cs
- DataSourceView.cs
- TimeZone.cs
- CharacterShapingProperties.cs
- TextHidden.cs
- CodeRegionDirective.cs
- VersionedStream.cs
- VersionPair.cs
- SchemaNames.cs
- InternalPolicyElement.cs
- FileLogRecord.cs
- Color.cs
- DataBinding.cs
- DoubleLinkList.cs
- AdministrationHelpers.cs
- EmptyControlCollection.cs
- HyperLink.cs
- DataGridViewComboBoxColumn.cs
- DiagnosticStrings.cs
- UnsafeNativeMethods.cs
- WebPartCatalogCloseVerb.cs
- BatchParser.cs
- MergeFilterQuery.cs
- CheckPair.cs
- bidPrivateBase.cs
- RolePrincipal.cs
- DesignerDataTable.cs
- FreezableCollection.cs
- StickyNoteHelper.cs
- InlineCollection.cs
- ProfilePropertySettings.cs
- TypeResolvingOptionsAttribute.cs
- PrivilegedConfigurationManager.cs
- ProjectionPruner.cs
- BooleanAnimationBase.cs
- KeyValuePairs.cs
- HierarchicalDataSourceConverter.cs
- KeysConverter.cs
- HealthMonitoringSectionHelper.cs
- SafeCryptoHandles.cs
- LineGeometry.cs
- PointHitTestParameters.cs
- PackageDigitalSignature.cs
- WebPartHeaderCloseVerb.cs
- ILGen.cs
- XmlSchemaRedefine.cs
- DesignerForm.cs
- SqlCrossApplyToCrossJoin.cs
- AssemblyNameProxy.cs
- OdbcReferenceCollection.cs
- UnmanagedBitmapWrapper.cs
- NavigationPropertyEmitter.cs
- WorkflowInstanceUnhandledExceptionRecord.cs
- PrintPageEvent.cs
- BinaryMethodMessage.cs
- MatrixCamera.cs
- RSACryptoServiceProvider.cs