Code:
/ FX-1434 / FX-1434 / 1.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
- VScrollBar.cs
- PeerApplication.cs
- ConfigViewGenerator.cs
- XPathNavigatorReader.cs
- WebBrowser.cs
- XmlSchemaElement.cs
- ToolStripSplitStackLayout.cs
- WsdlServiceChannelBuilder.cs
- EndpointConfigContainer.cs
- SkinBuilder.cs
- MsmqTransportSecurity.cs
- WebConfigurationHostFileChange.cs
- SpellCheck.cs
- PersistenceTypeAttribute.cs
- DbConnectionPoolIdentity.cs
- BaseDataList.cs
- WorkflowServiceAttributes.cs
- DiscoveryClientBindingElement.cs
- VirtualizedCellInfoCollection.cs
- BasicExpandProvider.cs
- CalloutQueueItem.cs
- HtmlGenericControl.cs
- ContentIterators.cs
- VirtualPathUtility.cs
- HttpCapabilitiesBase.cs
- ValidationErrorCollection.cs
- DocumentViewerConstants.cs
- Block.cs
- ExpressionConverter.cs
- XmlSchemaElement.cs
- WindowsTitleBar.cs
- GraphicsPathIterator.cs
- DesignTimeParseData.cs
- SoapIncludeAttribute.cs
- List.cs
- Setter.cs
- UnmanagedMemoryStream.cs
- ChangePassword.cs
- ParentUndoUnit.cs
- XmlAttributeCollection.cs
- webclient.cs
- LocalValueEnumerator.cs
- InfoCardRSACryptoProvider.cs
- RegexRunner.cs
- DataGridViewColumnCollectionDialog.cs
- CustomValidator.cs
- _HTTPDateParse.cs
- ProfileManager.cs
- OdbcReferenceCollection.cs
- ProcessModelInfo.cs
- ClientSideProviderDescription.cs
- PropertyManager.cs
- MessageQueuePermissionEntryCollection.cs
- TextRange.cs
- PageClientProxyGenerator.cs
- InternalResources.cs
- DataBoundControlHelper.cs
- ProgramNode.cs
- ListViewInsertionMark.cs
- ActivityXRefPropertyEditor.cs
- SignatureToken.cs
- ImpersonateTokenRef.cs
- DiscreteKeyFrames.cs
- IODescriptionAttribute.cs
- contentDescriptor.cs
- GetIndexBinder.cs
- FormViewDeleteEventArgs.cs
- CellConstantDomain.cs
- PreservationFileWriter.cs
- ClientOptions.cs
- RC2CryptoServiceProvider.cs
- TerminateDesigner.cs
- ItemsControlAutomationPeer.cs
- HyperLink.cs
- NamespaceDecl.cs
- Timer.cs
- UriSection.cs
- cryptoapiTransform.cs
- DataSet.cs
- BaseCAMarshaler.cs
- PeerCollaborationPermission.cs
- HwndHost.cs
- CreateDataSourceDialog.cs
- DocumentSequenceHighlightLayer.cs
- Object.cs
- DelegatingTypeDescriptionProvider.cs
- Span.cs
- Animatable.cs
- Wizard.cs
- XmlAttributeCache.cs
- XmlJsonWriter.cs
- BrowserPolicyValidator.cs
- ManifestResourceInfo.cs
- DetailsViewInsertEventArgs.cs
- UpdateManifestForBrowserApplication.cs
- StylusDevice.cs
- LineVisual.cs
- KeyToListMap.cs
- WebBrowserSiteBase.cs
- SymbolEqualComparer.cs