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
- NotifyParentPropertyAttribute.cs
- Rectangle.cs
- DomainConstraint.cs
- XmlDocument.cs
- Component.cs
- TileBrush.cs
- IPGlobalProperties.cs
- HttpClientCertificate.cs
- ReachBasicContext.cs
- BoolExpr.cs
- OletxResourceManager.cs
- ExpressionBuilder.cs
- RelationshipDetailsCollection.cs
- _TLSstream.cs
- XmlStreamStore.cs
- DataGridPagerStyle.cs
- DataRecordInternal.cs
- HtmlGenericControl.cs
- XmlCompatibilityReader.cs
- xmlformatgeneratorstatics.cs
- IncrementalCompileAnalyzer.cs
- TransactionFlowProperty.cs
- SchemaElementLookUpTableEnumerator.cs
- SyndicationSerializer.cs
- ValuePattern.cs
- UrlMapping.cs
- PeerNameRegistration.cs
- ScrollChrome.cs
- CombinedGeometry.cs
- CheckBoxList.cs
- FormatSelectingMessageInspector.cs
- XmlSchemaObjectCollection.cs
- Int32Rect.cs
- TdsParserStateObject.cs
- TokenBasedSetEnumerator.cs
- AssertUtility.cs
- PageRanges.cs
- ContainerParaClient.cs
- ExpressionNode.cs
- SessionStateSection.cs
- DbConnectionClosed.cs
- MediaEntryAttribute.cs
- XmlChoiceIdentifierAttribute.cs
- NegotiationTokenAuthenticator.cs
- PersonalizationProvider.cs
- DiscreteKeyFrames.cs
- XmlValidatingReaderImpl.cs
- XmlStringTable.cs
- SqlGatherConsumedAliases.cs
- DictionaryEntry.cs
- EventPropertyMap.cs
- UserMapPath.cs
- ChannelServices.cs
- AppPool.cs
- ObjectQuery.cs
- AssemblyHash.cs
- FontConverter.cs
- ThousandthOfEmRealPoints.cs
- Mapping.cs
- HttpCachePolicyWrapper.cs
- UriExt.cs
- ExtensionDataReader.cs
- SchemaImporterExtensionElement.cs
- FrameworkContentElement.cs
- VerbConverter.cs
- WebContext.cs
- CultureInfoConverter.cs
- ServiceHttpModule.cs
- Int64AnimationBase.cs
- RemotingAttributes.cs
- HwndSubclass.cs
- ExpressionEditorSheet.cs
- MetadataItemEmitter.cs
- CompositionCommandSet.cs
- EntityDataSourceView.cs
- String.cs
- IndentedTextWriter.cs
- SHA384Managed.cs
- PLINQETWProvider.cs
- SecureConversationVersion.cs
- UpdateTracker.cs
- TreeNode.cs
- localization.cs
- DesignBinding.cs
- PageContent.cs
- AttachmentCollection.cs
- DynamicResourceExtension.cs
- KeyEvent.cs
- ContextStaticAttribute.cs
- WarningException.cs
- RoleGroupCollection.cs
- UseManagedPresentationElement.cs
- ZipIOLocalFileDataDescriptor.cs
- ScriptingSectionGroup.cs
- BaseTemplateBuildProvider.cs
- DocumentApplication.cs
- ArgumentException.cs
- DebugView.cs
- StringSource.cs
- XMLUtil.cs