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
- SchemaImporterExtensionElement.cs
- HierarchicalDataBoundControl.cs
- SqlDependencyListener.cs
- WebRequestModuleElement.cs
- LookupBindingPropertiesAttribute.cs
- RoleGroupCollection.cs
- MSG.cs
- Matrix3D.cs
- ConfigurationValue.cs
- BasePattern.cs
- MailDefinition.cs
- TreeNodeBindingCollection.cs
- GridItemPattern.cs
- CodeVariableDeclarationStatement.cs
- CategoryAttribute.cs
- GZipDecoder.cs
- FlatButtonAppearance.cs
- DWriteFactory.cs
- SafeViewOfFileHandle.cs
- ContextProperty.cs
- DetailsViewRow.cs
- FileIOPermission.cs
- SortKey.cs
- ConfigurationSection.cs
- MessageAction.cs
- InternalConfigRoot.cs
- CorrelationTokenInvalidatedHandler.cs
- UpdatePanelControlTrigger.cs
- StylusEventArgs.cs
- TriggerBase.cs
- ObjectNavigationPropertyMapping.cs
- COM2PictureConverter.cs
- TransactionManager.cs
- DbParameterCollectionHelper.cs
- BCLDebug.cs
- TextSelectionProcessor.cs
- SignerInfo.cs
- QuaternionConverter.cs
- Size.cs
- WindowAutomationPeer.cs
- ConfigurationSection.cs
- BindingSourceDesigner.cs
- EmbeddedMailObject.cs
- Vector3DCollectionValueSerializer.cs
- MenuItemStyle.cs
- FixedTextSelectionProcessor.cs
- WebFormsRootDesigner.cs
- HttpInputStream.cs
- CaseCqlBlock.cs
- ListViewGroupItemCollection.cs
- ProjectionQueryOptionExpression.cs
- CompilerHelpers.cs
- DataGridViewColumnCollection.cs
- StringSorter.cs
- CacheModeConverter.cs
- DesignTableCollection.cs
- SessionIDManager.cs
- PartialList.cs
- DesignerVerbCollection.cs
- AudioLevelUpdatedEventArgs.cs
- UserUseLicenseDictionaryLoader.cs
- WinCategoryAttribute.cs
- XmlObjectSerializerWriteContext.cs
- WebPartConnectionsConnectVerb.cs
- ProjectionPlan.cs
- MouseButtonEventArgs.cs
- XmlWellformedWriter.cs
- RadioButtonRenderer.cs
- SystemBrushes.cs
- EntityTypeBase.cs
- RectangleGeometry.cs
- UnsafePeerToPeerMethods.cs
- Renderer.cs
- CharacterBuffer.cs
- SettingsBindableAttribute.cs
- bidPrivateBase.cs
- CodeMemberField.cs
- EUCJPEncoding.cs
- PropertyIDSet.cs
- LayoutUtils.cs
- ObjectListShowCommandsEventArgs.cs
- TableAdapterManagerMethodGenerator.cs
- securestring.cs
- printdlgexmarshaler.cs
- SecurityDocument.cs
- RuleSetCollection.cs
- GeneralTransform2DTo3D.cs
- HtmlElementEventArgs.cs
- TemplateEditingFrame.cs
- ContentType.cs
- ImmComposition.cs
- TemplateControlParser.cs
- CheckBoxList.cs
- AppDomainShutdownMonitor.cs
- BindingCollection.cs
- PreviewPrintController.cs
- SqlMetaData.cs
- GeneralTransform3D.cs
- SwitchExpression.cs
- SerialReceived.cs