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
- JsonFormatGeneratorStatics.cs
- TypeReference.cs
- InstanceHandleReference.cs
- StringInfo.cs
- DelegateSerializationHolder.cs
- HorizontalAlignConverter.cs
- SecurityBindingElementImporter.cs
- UniqueConstraint.cs
- FixedTextSelectionProcessor.cs
- Rect3DValueSerializer.cs
- PageRanges.cs
- MaskedTextProvider.cs
- ComplexPropertyEntry.cs
- XmlElementAttributes.cs
- ValueSerializerAttribute.cs
- SecurityResources.cs
- EnvironmentPermission.cs
- PeerValidationBehavior.cs
- ConfigXmlElement.cs
- JsonByteArrayDataContract.cs
- MemoryStream.cs
- GeneralTransform2DTo3D.cs
- GridViewRow.cs
- BitmapEffectGroup.cs
- MenuItem.cs
- _HeaderInfo.cs
- GAC.cs
- TabletCollection.cs
- TextPointerBase.cs
- XPathMessageContext.cs
- NameValueConfigurationElement.cs
- SafeHandles.cs
- C14NUtil.cs
- SystemColorTracker.cs
- GroupBox.cs
- CodeDomConfigurationHandler.cs
- SoapSchemaMember.cs
- ICollection.cs
- DataServiceQueryOfT.cs
- TemplateField.cs
- XXXOnTypeBuilderInstantiation.cs
- FormattedText.cs
- AutomationTextAttribute.cs
- ToggleProviderWrapper.cs
- ModelTreeEnumerator.cs
- X509CertificateValidator.cs
- Profiler.cs
- BaseHashHelper.cs
- CodeGenHelper.cs
- BulletedListEventArgs.cs
- EntryIndex.cs
- ForwardPositionQuery.cs
- NavigationWindow.cs
- ObsoleteAttribute.cs
- DbParameterCollectionHelper.cs
- Command.cs
- Transaction.cs
- BoundColumn.cs
- PageHandlerFactory.cs
- EntitySqlQueryCacheKey.cs
- BitmapEffectInputData.cs
- DirectoryInfo.cs
- Debug.cs
- MyContact.cs
- PipelineModuleStepContainer.cs
- SqlCachedBuffer.cs
- ArrayConverter.cs
- SharedPersonalizationStateInfo.cs
- StructuralType.cs
- X509Certificate.cs
- GlobalProxySelection.cs
- LogWriteRestartAreaAsyncResult.cs
- RtfToken.cs
- MetadataArtifactLoaderCompositeFile.cs
- SecurityDocument.cs
- ExpandedWrapper.cs
- DoubleAnimationClockResource.cs
- TemplatedWizardStep.cs
- ArrayList.cs
- DataGridDetailsPresenterAutomationPeer.cs
- DataGridTableCollection.cs
- ArrayList.cs
- TextWriter.cs
- SelectionHighlightInfo.cs
- InheritablePropertyChangeInfo.cs
- MergePropertyDescriptor.cs
- PasswordRecovery.cs
- TextSerializer.cs
- NonParentingControl.cs
- ObjectResult.cs
- PropertyItem.cs
- HttpWebResponse.cs
- Border.cs
- NullRuntimeConfig.cs
- HttpInputStream.cs
- HelloOperationAsyncResult.cs
- EntityViewGenerator.cs
- linebase.cs
- XmlQualifiedName.cs
- QilFactory.cs