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
- CounterSample.cs
- DispatchWrapper.cs
- ReadOnlyHierarchicalDataSource.cs
- PartManifestEntry.cs
- DocumentViewerBaseAutomationPeer.cs
- QilPatternFactory.cs
- MembershipUser.cs
- StateBag.cs
- IndexObject.cs
- DispatcherExceptionFilterEventArgs.cs
- WmiEventSink.cs
- Int32.cs
- BindingExpressionBase.cs
- CustomAttributeFormatException.cs
- FileDialog_Vista_Interop.cs
- IPEndPointCollection.cs
- CompressionTransform.cs
- ImpersonateTokenRef.cs
- XDeferredAxisSource.cs
- HttpServerVarsCollection.cs
- ProfilePropertyNameValidator.cs
- JobDuplex.cs
- TableRow.cs
- ZipFileInfo.cs
- activationcontext.cs
- DBConnection.cs
- X509Certificate.cs
- ManagementOperationWatcher.cs
- Empty.cs
- ProgressChangedEventArgs.cs
- ProcessThread.cs
- ColumnCollection.cs
- WebPartVerb.cs
- QueryConverter.cs
- HtmlWindowCollection.cs
- CanonicalFontFamilyReference.cs
- Dispatcher.cs
- SharedUtils.cs
- GridViewUpdatedEventArgs.cs
- DirectoryObjectSecurity.cs
- MenuEventArgs.cs
- WeakEventManager.cs
- InheritanceContextHelper.cs
- PassportAuthenticationModule.cs
- ToolBarButton.cs
- CodeArgumentReferenceExpression.cs
- MobileSysDescriptionAttribute.cs
- SocketInformation.cs
- DropDownList.cs
- NameNode.cs
- DependencyObject.cs
- _ProxyChain.cs
- SerialPinChanges.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- BindingBase.cs
- RoutedCommand.cs
- safelink.cs
- TemplateControlParser.cs
- MemberBinding.cs
- FormViewDeleteEventArgs.cs
- MaskedTextProvider.cs
- FrameworkElementFactoryMarkupObject.cs
- EntityContainerRelationshipSet.cs
- DaylightTime.cs
- CompositeFontFamily.cs
- XmlSubtreeReader.cs
- ParseNumbers.cs
- DbConnectionInternal.cs
- SignatureToken.cs
- StorageMappingItemCollection.cs
- DataViewListener.cs
- Vector3D.cs
- TextProviderWrapper.cs
- BindingManagerDataErrorEventArgs.cs
- TrackingProvider.cs
- ListControl.cs
- ModelTypeConverter.cs
- CodeDirectiveCollection.cs
- FormatConvertedBitmap.cs
- MetabaseServerConfig.cs
- RectAnimation.cs
- UniqueIdentifierService.cs
- Inline.cs
- FunctionDetailsReader.cs
- ControlCommandSet.cs
- HtmlInputReset.cs
- HttpValueCollection.cs
- Win32.cs
- BrowserTree.cs
- ColorAnimation.cs
- UrlUtility.cs
- VarInfo.cs
- mediaeventargs.cs
- JsonUriDataContract.cs
- JoinTreeSlot.cs
- ISO2022Encoding.cs
- ClosableStream.cs
- DataColumnMappingCollection.cs
- InputScopeManager.cs
- PreservationFileWriter.cs