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
- BitmapEffect.cs
- SystemIcmpV6Statistics.cs
- IntAverageAggregationOperator.cs
- MsmqTransportElement.cs
- UnmanagedHandle.cs
- PolicyManager.cs
- VersionValidator.cs
- OrderedDictionary.cs
- AuthenticationServiceManager.cs
- SmtpNtlmAuthenticationModule.cs
- SafeSystemMetrics.cs
- IndexedEnumerable.cs
- Cursor.cs
- SqlDataSourceCache.cs
- WebPartEditVerb.cs
- Roles.cs
- FileStream.cs
- RowUpdatingEventArgs.cs
- SRDisplayNameAttribute.cs
- ClientBuildManagerTypeDescriptionProviderBridge.cs
- ProcessModelInfo.cs
- UserNameServiceElement.cs
- SqlDataSourceSelectingEventArgs.cs
- GradientStop.cs
- CustomValidator.cs
- InvokePatternIdentifiers.cs
- FlowchartDesigner.Helpers.cs
- DynamicDocumentPaginator.cs
- ReturnEventArgs.cs
- CurrentTimeZone.cs
- RC2CryptoServiceProvider.cs
- DeferredReference.cs
- DataColumn.cs
- XmlIgnoreAttribute.cs
- TextEditorTables.cs
- ReaderWriterLock.cs
- BitmapEffectInputData.cs
- WebPartDeleteVerb.cs
- FileUpload.cs
- DBSqlParserColumnCollection.cs
- TextRangeSerialization.cs
- TextTreeUndoUnit.cs
- WindowsFormsHelpers.cs
- DocumentSequenceHighlightLayer.cs
- PropertyMapper.cs
- PackageRelationshipSelector.cs
- LeftCellWrapper.cs
- ScriptManager.cs
- EntityChangedParams.cs
- SmtpTransport.cs
- SafeBitVector32.cs
- ProfileParameter.cs
- Point3D.cs
- DoubleLink.cs
- ConnectionPoint.cs
- DataGridItemCollection.cs
- TreeIterators.cs
- VisualStyleRenderer.cs
- validationstate.cs
- TransformGroup.cs
- SingleKeyFrameCollection.cs
- XmlEncoding.cs
- SizeConverter.cs
- DocumentApplication.cs
- WSUtilitySpecificationVersion.cs
- followingsibling.cs
- UpdateRecord.cs
- CharEntityEncoderFallback.cs
- XmlEncoding.cs
- MethodImplAttribute.cs
- FormsAuthentication.cs
- SymbolMethod.cs
- BitmapEffectDrawing.cs
- SQLCharsStorage.cs
- MultilineStringConverter.cs
- SoapSchemaImporter.cs
- XmlSignatureProperties.cs
- QilList.cs
- SmtpDigestAuthenticationModule.cs
- GraphicsPath.cs
- FlowDocumentPage.cs
- TypedReference.cs
- InvalidPipelineStoreException.cs
- DrawingContext.cs
- EntityKey.cs
- BulletChrome.cs
- FontWeightConverter.cs
- MappedMetaModel.cs
- ContactManager.cs
- DependentList.cs
- EdgeProfileValidation.cs
- ElementNotAvailableException.cs
- RelatedView.cs
- NetSectionGroup.cs
- PathSegment.cs
- FindCriteria11.cs
- ToolStripLabel.cs
- OuterProxyWrapper.cs
- AvTrace.cs
- odbcmetadatafactory.cs