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
- DataGridLinkButton.cs
- JumpItem.cs
- NativeMethods.cs
- XmlSignatureManifest.cs
- XmlQuerySequence.cs
- Literal.cs
- FileChangeNotifier.cs
- WebBrowserBase.cs
- CommonRemoteMemoryBlock.cs
- PassportPrincipal.cs
- NamespaceInfo.cs
- ErrorView.xaml.cs
- DesignerRegionMouseEventArgs.cs
- XmlSignificantWhitespace.cs
- ToolCreatedEventArgs.cs
- Trace.cs
- BitmapEffectInputConnector.cs
- DefaultMemberAttribute.cs
- CompiledRegexRunnerFactory.cs
- TextElement.cs
- LayoutInformation.cs
- FixedSOMContainer.cs
- SR.cs
- EntityDataSourceConfigureObjectContext.cs
- AsymmetricAlgorithm.cs
- XmlSchemaSimpleTypeList.cs
- ConfigXmlWhitespace.cs
- ContentPropertyAttribute.cs
- IndentedWriter.cs
- ToolboxItemFilterAttribute.cs
- AppDomainFactory.cs
- XhtmlBasicListAdapter.cs
- CodeAttributeDeclarationCollection.cs
- LookupNode.cs
- HttpWriter.cs
- CheckBoxList.cs
- StorageSetMapping.cs
- Base64Encoder.cs
- XmlUnspecifiedAttribute.cs
- TreeNodeStyle.cs
- Visual.cs
- KeyGesture.cs
- ViewStateModeByIdAttribute.cs
- webeventbuffer.cs
- RequestResizeEvent.cs
- PerformanceCounter.cs
- XmlAttributeAttribute.cs
- PropertyGridEditorPart.cs
- MailAddressCollection.cs
- baseaxisquery.cs
- BaseInfoTable.cs
- Comparer.cs
- XPathDocumentBuilder.cs
- TerminateDesigner.cs
- InkCanvas.cs
- CodeComment.cs
- DataGridItemEventArgs.cs
- PersonalizationStateQuery.cs
- SmiMetaData.cs
- FontFamily.cs
- StdValidatorsAndConverters.cs
- CurrencyManager.cs
- TableSectionStyle.cs
- EntryPointNotFoundException.cs
- MdiWindowListItemConverter.cs
- prompt.cs
- TrustLevelCollection.cs
- EnumConverter.cs
- InternalSafeNativeMethods.cs
- LinearKeyFrames.cs
- AutoCompleteStringCollection.cs
- XpsTokenContext.cs
- ConfigXmlReader.cs
- COM2TypeInfoProcessor.cs
- FieldTemplateFactory.cs
- ImageDesigner.cs
- XmlSchemaAnnotated.cs
- RightsManagementPermission.cs
- X509Chain.cs
- ScrollBarRenderer.cs
- DataSet.cs
- HuffmanTree.cs
- ContainerCodeDomSerializer.cs
- ParallelLoopState.cs
- ControlOperationBehavior.cs
- DefaultSection.cs
- ComplexLine.cs
- NetTcpSecurityElement.cs
- ExtensionWindowResizeGrip.cs
- PropertyMapper.cs
- ParseHttpDate.cs
- CompositeDataBoundControl.cs
- PrincipalPermission.cs
- DeviceOverridableAttribute.cs
- StandardMenuStripVerb.cs
- RemoteWebConfigurationHost.cs
- FilteredAttributeCollection.cs
- ContentValidator.cs
- CryptoStream.cs
- ResourceKey.cs