You've already forked linux-packaging-mono
Imported Upstream version 4.6.0.125
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
This commit is contained in:
parent
a569aebcfd
commit
e79aa3c0ed
@@ -0,0 +1,188 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <copyright file="PersonalizationDictionary.cs" company="Microsoft">
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// </copyright>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace System.Web.UI.WebControls.WebParts {
|
||||
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Specialized;
|
||||
using System.Web.Util;
|
||||
|
||||
// This class is unsealed so it can be extended by developers who extend the personalization infrastructure
|
||||
public class PersonalizationDictionary : IDictionary {
|
||||
private HybridDictionary _dictionary;
|
||||
|
||||
public PersonalizationDictionary() {
|
||||
_dictionary = new HybridDictionary(/* caseInsensitive */ true);
|
||||
}
|
||||
|
||||
public PersonalizationDictionary(int initialSize) {
|
||||
_dictionary = new HybridDictionary(initialSize, /* caseInsensitive */ true);
|
||||
}
|
||||
|
||||
public virtual int Count {
|
||||
get {
|
||||
return _dictionary.Count;
|
||||
}
|
||||
}
|
||||
|
||||
public virtual bool IsFixedSize {
|
||||
get {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public virtual bool IsReadOnly {
|
||||
get {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public virtual bool IsSynchronized {
|
||||
get {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public virtual ICollection Keys {
|
||||
get {
|
||||
return _dictionary.Keys;
|
||||
}
|
||||
}
|
||||
|
||||
public virtual object SyncRoot {
|
||||
get {
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
public virtual ICollection Values {
|
||||
get {
|
||||
return _dictionary.Values;
|
||||
}
|
||||
}
|
||||
|
||||
public virtual PersonalizationEntry this[string key] {
|
||||
get{
|
||||
key = StringUtil.CheckAndTrimString(key, "key");
|
||||
return (PersonalizationEntry)_dictionary[key];
|
||||
}
|
||||
set {
|
||||
key = StringUtil.CheckAndTrimString(key, "key");
|
||||
if (value == null) {
|
||||
throw new ArgumentNullException("value");
|
||||
}
|
||||
_dictionary[key] = value;
|
||||
}
|
||||
}
|
||||
|
||||
public virtual void Add(string key, PersonalizationEntry value) {
|
||||
key = StringUtil.CheckAndTrimString(key, "key");
|
||||
if (value == null) {
|
||||
throw new ArgumentNullException("value");
|
||||
}
|
||||
_dictionary.Add(key, value);
|
||||
}
|
||||
|
||||
public virtual void Clear() {
|
||||
_dictionary.Clear();
|
||||
}
|
||||
|
||||
public virtual bool Contains(string key) {
|
||||
key = StringUtil.CheckAndTrimString(key, "key");
|
||||
return _dictionary.Contains(key);
|
||||
}
|
||||
|
||||
public virtual void CopyTo(DictionaryEntry[] array, int index) {
|
||||
_dictionary.CopyTo(array, index);
|
||||
}
|
||||
|
||||
public virtual IDictionaryEnumerator GetEnumerator() {
|
||||
return _dictionary.GetEnumerator();
|
||||
}
|
||||
|
||||
public virtual void Remove(string key) {
|
||||
key = StringUtil.CheckAndTrimString(key, "key");
|
||||
_dictionary.Remove(key);
|
||||
}
|
||||
|
||||
internal void RemoveSharedProperties() {
|
||||
DictionaryEntry[] entries = new DictionaryEntry[Count];
|
||||
CopyTo(entries, 0);
|
||||
foreach (DictionaryEntry entry in entries) {
|
||||
if (((PersonalizationEntry)entry.Value).Scope == PersonalizationScope.Shared) {
|
||||
Remove((string)entry.Key);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#region Implementation of IDictionary
|
||||
object IDictionary.this[object key] {
|
||||
get {
|
||||
if (!(key is string)) {
|
||||
throw new ArgumentException(SR.GetString(SR.PersonalizationDictionary_MustBeTypeString), "key");
|
||||
}
|
||||
return this[(string)key];
|
||||
}
|
||||
set {
|
||||
if (value == null) {
|
||||
throw new ArgumentNullException("value");
|
||||
}
|
||||
if (!(key is string)) {
|
||||
throw new ArgumentException(SR.GetString(SR.PersonalizationDictionary_MustBeTypeString), "key");
|
||||
}
|
||||
if (!(value is PersonalizationEntry)) {
|
||||
throw new ArgumentException(SR.GetString(SR.PersonalizationDictionary_MustBeTypePersonalizationEntry), "value");
|
||||
}
|
||||
this[(string)key] = (PersonalizationEntry)value;
|
||||
}
|
||||
}
|
||||
|
||||
void IDictionary.Add(object key, object value) {
|
||||
if (value == null) {
|
||||
throw new ArgumentNullException("value");
|
||||
}
|
||||
if (!(key is string)) {
|
||||
throw new ArgumentException(SR.GetString(SR.PersonalizationDictionary_MustBeTypeString), "key");
|
||||
}
|
||||
if (!(value is PersonalizationEntry)) {
|
||||
throw new ArgumentException(SR.GetString(SR.PersonalizationDictionary_MustBeTypePersonalizationEntry), "value");
|
||||
}
|
||||
Add((string)key, (PersonalizationEntry)value);
|
||||
}
|
||||
|
||||
bool IDictionary.Contains(object key) {
|
||||
if (!(key is string)) {
|
||||
throw new ArgumentException(SR.GetString(SR.PersonalizationDictionary_MustBeTypeString), "key");
|
||||
}
|
||||
return Contains((string)key);
|
||||
}
|
||||
|
||||
void IDictionary.Remove(object key) {
|
||||
if (!(key is string)) {
|
||||
throw new ArgumentException(SR.GetString(SR.PersonalizationDictionary_MustBeTypeString), "key");
|
||||
}
|
||||
Remove((string)key);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Implementation of ICollection
|
||||
void ICollection.CopyTo(Array array, int index) {
|
||||
if (!(array is DictionaryEntry[])) {
|
||||
throw new ArgumentException(
|
||||
SR.GetString(SR.PersonalizationDictionary_MustBeTypeDictionaryEntryArray), "array");
|
||||
}
|
||||
CopyTo((DictionaryEntry[])array, index);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Implementation of IEnumerable
|
||||
IEnumerator IEnumerable.GetEnumerator() {
|
||||
return GetEnumerator();
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user