Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / clr / src / BCL / System / Security / PermissionSetEnumerator.cs / 1 / 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;
}
SecurityElement elem = obj as SecurityElement;
if (elem != null)
{
perm = m_permSet.CreatePermission(elem, enm.Index);
if (perm != null)
{
enm.Current = perm;
return true;
}
}
}
return false;
}
}
}
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- WindowsTab.cs
- QilLiteral.cs
- GridLength.cs
- IDispatchConstantAttribute.cs
- DesignerLabelAdapter.cs
- TranslateTransform.cs
- SettingsPropertyWrongTypeException.cs
- DesignerFrame.cs
- FileUtil.cs
- AnnotationObservableCollection.cs
- InkPresenter.cs
- RepeatBehaviorConverter.cs
- WebRequest.cs
- BaseTemplateParser.cs
- SecureUICommand.cs
- PhotoPrintingIntent.cs
- httpstaticobjectscollection.cs
- StorageInfo.cs
- GridEntryCollection.cs
- PropertyPathConverter.cs
- DesignBindingPropertyDescriptor.cs
- XmlDeclaration.cs
- Random.cs
- Match.cs
- RegisteredExpandoAttribute.cs
- AlphabetConverter.cs
- DelayDesigner.cs
- XmlSchema.cs
- PolyLineSegmentFigureLogic.cs
- SpellerInterop.cs
- BuildProviderAppliesToAttribute.cs
- KnownBoxes.cs
- SmiConnection.cs
- PointUtil.cs
- MethodToken.cs
- Floater.cs
- ExpressionBuilderCollection.cs
- PaperSize.cs
- processwaithandle.cs
- XamlFigureLengthSerializer.cs
- ReadWriteObjectLock.cs
- BindingListCollectionView.cs
- CompilationAssemblyInstallComponent.cs
- DataGridPageChangedEventArgs.cs
- ProxyAssemblyNotLoadedException.cs
- CustomErrorCollection.cs
- ParagraphVisual.cs
- XmlReaderSettings.cs
- SchemaImporter.cs
- LogRecordSequence.cs
- sqlstateclientmanager.cs
- Figure.cs
- ListManagerBindingsCollection.cs
- WindowsToolbar.cs
- DecimalAverageAggregationOperator.cs
- JsonFaultDetail.cs
- AlternationConverter.cs
- PersonalizationProviderHelper.cs
- LocalIdCollection.cs
- Knowncolors.cs
- ListBox.cs
- PageStatePersister.cs
- FileDetails.cs
- TagPrefixAttribute.cs
- CodeIndexerExpression.cs
- ReaderWriterLockWrapper.cs
- DataTableMappingCollection.cs
- PartEditor.cs
- SpeechAudioFormatInfo.cs
- IImplicitResourceProvider.cs
- StringUtil.cs
- InstanceDataCollectionCollection.cs
- VirtualizingStackPanel.cs
- SamlSubjectStatement.cs
- SeekableReadStream.cs
- AlignmentYValidation.cs
- SignedInfo.cs
- EmbeddedMailObject.cs
- InkCanvas.cs
- StrongNamePublicKeyBlob.cs
- DataListItemCollection.cs
- XamlClipboardData.cs
- TaskResultSetter.cs
- ConnectionStringsSection.cs
- EntityCommandExecutionException.cs
- Transform.cs
- UnionExpr.cs
- XmlNode.cs
- XappLauncher.cs
- CanExpandCollapseAllConverter.cs
- ImageAttributes.cs
- MapPathBasedVirtualPathProvider.cs
- ResourceAttributes.cs
- NewArrayExpression.cs
- SoapObjectWriter.cs
- ConfigurationStrings.cs
- SplitterCancelEvent.cs
- Matrix.cs
- NavigationPropertySingletonExpression.cs
- SpellerError.cs