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
- RegexStringValidator.cs
- TableLayoutStyle.cs
- EventPropertyMap.cs
- UnsupportedPolicyOptionsException.cs
- ComNativeDescriptor.cs
- RecognizerStateChangedEventArgs.cs
- UserControl.cs
- SizeIndependentAnimationStorage.cs
- ActivityCompletionCallbackWrapper.cs
- InteropEnvironment.cs
- AutoResizedEvent.cs
- RichTextBox.cs
- AsyncStreamReader.cs
- CodeAccessSecurityEngine.cs
- SystemFonts.cs
- XamlGridLengthSerializer.cs
- TimeSpanStorage.cs
- DebuggerAttributes.cs
- ColumnWidthChangedEvent.cs
- VectorAnimation.cs
- DbDataAdapter.cs
- DateTimePicker.cs
- WebBrowser.cs
- CodeSnippetCompileUnit.cs
- IPPacketInformation.cs
- ReadOnlyDictionary.cs
- ClipboardData.cs
- RadioButtonPopupAdapter.cs
- __ComObject.cs
- SynchronizationLockException.cs
- invalidudtexception.cs
- RangeValidator.cs
- HttpConfigurationSystem.cs
- BaseCAMarshaler.cs
- EncoderParameters.cs
- InvokePattern.cs
- SqlComparer.cs
- VirtualizedItemPattern.cs
- IntellisenseTextBox.cs
- ControlBindingsCollection.cs
- RoleProviderPrincipal.cs
- SchemaImporterExtensionElement.cs
- GridLengthConverter.cs
- WindowsEditBox.cs
- SymbolMethod.cs
- DefaultTextStoreTextComposition.cs
- MatrixTransform.cs
- XmlIterators.cs
- SemanticResolver.cs
- SQLDouble.cs
- GlyphRunDrawing.cs
- PeerValidationBehavior.cs
- UniqueEventHelper.cs
- EntityAdapter.cs
- SingleConverter.cs
- CroppedBitmap.cs
- HttpConfigurationContext.cs
- InstallerTypeAttribute.cs
- AuthenticationModulesSection.cs
- DiscreteKeyFrames.cs
- CommonServiceBehaviorElement.cs
- ToolStripSystemRenderer.cs
- Calendar.cs
- AspNetSynchronizationContext.cs
- DataListComponentEditor.cs
- ControlBuilderAttribute.cs
- PathFigureCollection.cs
- Publisher.cs
- PasswordRecovery.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- PrimitiveSchema.cs
- ActivityAction.cs
- WebPartRestoreVerb.cs
- Int64Storage.cs
- Memoizer.cs
- LicenseException.cs
- CompiledQuery.cs
- NotificationContext.cs
- XLinq.cs
- SignerInfo.cs
- MimeMapping.cs
- DbProviderManifest.cs
- UIElement3D.cs
- CurrentChangingEventManager.cs
- SqlFacetAttribute.cs
- NTAccount.cs
- UserControlParser.cs
- SoapWriter.cs
- IssuanceLicense.cs
- SqlNamer.cs
- GraphicsPathIterator.cs
- HtmlInputCheckBox.cs
- EntityCommandCompilationException.cs
- ParamArrayAttribute.cs
- AppSettingsReader.cs
- CoTaskMemHandle.cs
- JsonReader.cs
- ActivityCodeDomSerializer.cs
- CatalogPartDesigner.cs
- Models.cs