Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / UI / WebControls / RoleGroupCollection.cs / 1 / RoleGroupCollection.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI.WebControls {
using System.Collections;
using System.ComponentModel;
using System.Security.Permissions;
using System.Security.Principal;
using System.Drawing.Design;
using System.Web.Security;
///
/// Collection of RoleGroups.
///
[
Editor("System.Web.UI.Design.WebControls.RoleGroupCollectionEditor, " + AssemblyRef.SystemDesign, typeof(UITypeEditor))
]
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
public sealed class RoleGroupCollection : CollectionBase {
public RoleGroup this[int index] {
get {
return (RoleGroup)List[index];
}
}
public void Add(RoleGroup group) {
List.Add(group);
}
public void CopyTo(RoleGroup[] array, int index) {
List.CopyTo(array, index);
}
public bool Contains(RoleGroup group) {
return List.Contains(group);
}
///
/// The first RoleGroup that contains the user.
///
public RoleGroup GetMatchingRoleGroup(IPrincipal user) {
int index = GetMatchingRoleGroupInternal(user);
if (index != -1) {
return this[index];
}
return null;
}
///
/// Index of the first RoleGroup that contains the user. Internal because called from LoginView.
///
internal int GetMatchingRoleGroupInternal(IPrincipal user) {
if (user == null) {
throw new ArgumentNullException("user");
}
int i = 0;
foreach (RoleGroup group in this) {
if (group.ContainsUser(user)) {
return i;
}
i++;
}
return -1;
}
public int IndexOf(RoleGroup group) {
return List.IndexOf(group);
}
public void Insert(int index, RoleGroup group) {
List.Insert(index, group);
}
protected override void OnValidate(object value) {
base.OnValidate(value);
if (!(value is RoleGroup)) {
throw new ArgumentException(SR.GetString(SR.RoleGroupCollection_InvalidType), "value");
}
}
public void Remove(RoleGroup group) {
int index = IndexOf(group);
if (index >= 0) {
List.RemoveAt(index);
}
}
}
}
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TransformDescriptor.cs
- AlphabeticalEnumConverter.cs
- SectionInformation.cs
- AttachedPropertyBrowsableForChildrenAttribute.cs
- InputLanguageProfileNotifySink.cs
- DBCommand.cs
- XPathScanner.cs
- DurationConverter.cs
- ElapsedEventArgs.cs
- HostProtectionException.cs
- DbgUtil.cs
- QueryAccessibilityHelpEvent.cs
- SmiTypedGetterSetter.cs
- TreeNodeEventArgs.cs
- Registry.cs
- LogEntry.cs
- ColorInterpolationModeValidation.cs
- ManagedFilter.cs
- HttpsTransportElement.cs
- AsymmetricAlgorithm.cs
- TemplateBindingExpression.cs
- GPRECTF.cs
- GuidConverter.cs
- XmlNodeList.cs
- DocumentApplicationState.cs
- ToolStripControlHost.cs
- TextBoxRenderer.cs
- CodeNamespaceImport.cs
- DbResourceAllocator.cs
- DataViewManager.cs
- CodeTypeParameterCollection.cs
- DocumentSchemaValidator.cs
- FaultDesigner.cs
- RecognizerBase.cs
- MultiView.cs
- SqlParameter.cs
- StringAnimationUsingKeyFrames.cs
- SystemWebSectionGroup.cs
- SecUtil.cs
- TextElementEnumerator.cs
- ThicknessConverter.cs
- SqlGatherProducedAliases.cs
- SizeFConverter.cs
- PageAdapter.cs
- COM2PropertyPageUITypeConverter.cs
- ActivityDesignerHelper.cs
- ProfileGroupSettingsCollection.cs
- XmlValueConverter.cs
- HtmlFormAdapter.cs
- UnicodeEncoding.cs
- TimeSpanMinutesOrInfiniteConverter.cs
- BackgroundFormatInfo.cs
- PeerService.cs
- SqlCrossApplyToCrossJoin.cs
- PropertyRecord.cs
- Expression.cs
- XmlRootAttribute.cs
- XmlWellformedWriter.cs
- EmptyElement.cs
- ExpressionConverter.cs
- AffineTransform3D.cs
- Typeface.cs
- CommandHelpers.cs
- CompressEmulationStream.cs
- RuntimeWrappedException.cs
- VBCodeProvider.cs
- ColumnResizeUndoUnit.cs
- FolderLevelBuildProviderCollection.cs
- DataControlFieldCell.cs
- BezierSegment.cs
- CompareInfo.cs
- QueueSurrogate.cs
- UnsafeMethods.cs
- ColumnTypeConverter.cs
- ManagedWndProcTracker.cs
- UrlUtility.cs
- RoutedEvent.cs
- SqlUserDefinedAggregateAttribute.cs
- Lease.cs
- SqlRewriteScalarSubqueries.cs
- RoleService.cs
- ServerValidateEventArgs.cs
- ButtonDesigner.cs
- LiteralLink.cs
- XmlDomTextWriter.cs
- MsdtcWrapper.cs
- PersonalizationStateInfoCollection.cs
- MarginsConverter.cs
- OrderedDictionary.cs
- AmbiguousMatchException.cs
- TypeUtil.cs
- Window.cs
- DataPagerCommandEventArgs.cs
- PageDeviceFont.cs
- MLangCodePageEncoding.cs
- MediaCommands.cs
- ObjectSecurity.cs
- GeometryHitTestParameters.cs
- PerfCounterSection.cs
- _PooledStream.cs