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
- GestureRecognizer.cs
- BlobPersonalizationState.cs
- OutOfMemoryException.cs
- ConnectionPoint.cs
- Task.cs
- EdmToObjectNamespaceMap.cs
- HttpListenerElement.cs
- TextServicesCompartmentContext.cs
- DesignerActionHeaderItem.cs
- XmlReflectionMember.cs
- PropertyChangedEventManager.cs
- DataRow.cs
- ControlCommandSet.cs
- _ChunkParse.cs
- PermissionSet.cs
- Claim.cs
- GuidTagList.cs
- CodeCatchClause.cs
- CatalogPart.cs
- GeneralTransformGroup.cs
- LogicalExpr.cs
- XmlSchemaRedefine.cs
- SymLanguageVendor.cs
- InvalidCastException.cs
- TypeBuilderInstantiation.cs
- IArgumentProvider.cs
- Calendar.cs
- SoapIncludeAttribute.cs
- HierarchicalDataSourceControl.cs
- GrammarBuilderPhrase.cs
- XmlDataSourceNodeDescriptor.cs
- CalendarTable.cs
- HwndSubclass.cs
- ExceptionValidationRule.cs
- DirectoryNotFoundException.cs
- HostExecutionContextManager.cs
- TextProperties.cs
- XmlSerializerFactory.cs
- Geometry.cs
- ComponentResourceManager.cs
- ShapingEngine.cs
- Debug.cs
- Parallel.cs
- ReadOnlyMetadataCollection.cs
- TimeSpanFormat.cs
- StorageEntityContainerMapping.cs
- SafeLibraryHandle.cs
- InvokeProviderWrapper.cs
- XmlFormatExtensionPrefixAttribute.cs
- ReferentialConstraint.cs
- ServiceBusyException.cs
- RectangleGeometry.cs
- QueryExecutionOption.cs
- ScriptControl.cs
- WriterOutput.cs
- TransactionContextValidator.cs
- MessageQueueConverter.cs
- WindowsListBox.cs
- TreeViewAutomationPeer.cs
- Html32TextWriter.cs
- HScrollBar.cs
- MachineSettingsSection.cs
- Point3DCollectionConverter.cs
- TranslateTransform3D.cs
- DataSourceBooleanViewSchemaConverter.cs
- ProgressChangedEventArgs.cs
- CompilerErrorCollection.cs
- TypeLibConverter.cs
- RowToParametersTransformer.cs
- TokenBasedSetEnumerator.cs
- ComboBox.cs
- DataControlCommands.cs
- XNameTypeConverter.cs
- TextTreeInsertElementUndoUnit.cs
- XmlWriterTraceListener.cs
- FixedSOMElement.cs
- Rect3D.cs
- WsdlParser.cs
- CompoundFileDeflateTransform.cs
- BrowserCapabilitiesFactory.cs
- Setter.cs
- TypeSource.cs
- CrossContextChannel.cs
- HttpVersion.cs
- InvokeHandlers.cs
- CompilationUnit.cs
- LinkLabel.cs
- LoginCancelEventArgs.cs
- ServiceHttpHandlerFactory.cs
- InstanceDataCollectionCollection.cs
- TextEncodedRawTextWriter.cs
- DeploymentSection.cs
- ExecutionContext.cs
- WindowsToolbarItemAsMenuItem.cs
- ResourceDescriptionAttribute.cs
- InertiaRotationBehavior.cs
- InvariantComparer.cs
- BulletedListEventArgs.cs
- ScrollEvent.cs
- VectorValueSerializer.cs