Open sandboxFocus
  • TOC

Post­Sharp Documentation

Introduction

Deployment and Configuration

Adding Aspects to Code

Logging

Contracts

INotify­Property­Changed

Weak Event

XAML

Parent/Child, Visitor and Disposable

Undo/Redo

Caching

Multithreading

Developing Custom Aspects

Validating Architecture

Testing and Debugging

Miscellaneous

API Reference

Post­Sharp

Post­Sharp.​Aspects

Post­Sharp.​Aspects.​Advices

Post­Sharp.​Aspects.​Configuration

Post­Sharp.​Aspects.​Dependencies

Post­Sharp.​Aspects.​Internals

Post­Sharp.​Aspects.​Serialization

Post­Sharp.​Collections

Post­Sharp.​Constraints

Post­Sharp.​Extensibility

Post­Sharp.​Extensibility.​Build­Time­Logging

Post­Sharp.​Patterns

Post­Sharp.​Patterns.​Caching

Post­Sharp.​Patterns.​Caching.​Backends

Post­Sharp.​Patterns.​Caching.​Backends.​Azure

Post­Sharp.​Patterns.​Caching.​Backends.​Redis

Post­Sharp.​Patterns.​Caching.​Dependencies

Post­Sharp.​Patterns.​Caching.​Formatters

Post­Sharp.​Patterns.​Caching.​Implementation

Post­Sharp.​Patterns.​Caching.​Locking

Post­Sharp.​Patterns.​Caching.​Serializers

Post­Sharp.​Patterns.​Caching.​Value­Adapters

Post­Sharp.​Patterns.​Collections

Post­Sharp.​Patterns.​Collections.​Advices

Post­Sharp.​Patterns.​Contracts

Post­Sharp.​Patterns.​Diagnostics

Post­Sharp.​Patterns.​Diagnostics.​Adapters.​Asp­Net­Core

Post­Sharp.​Patterns.​Diagnostics.​Adapters.​Asp­Net­Framework

Post­Sharp.​Patterns.​Diagnostics.​Adapters.​Diagnostic­Source

Post­Sharp.​Patterns.​Diagnostics.​Adapters.​Http­Client

Post­Sharp.​Patterns.​Diagnostics.​Audit

Post­Sharp.​Patterns.​Diagnostics.​Backends

Post­Sharp.​Patterns.​Diagnostics.​Backends.​Application­Insights

Post­Sharp.​Patterns.​Diagnostics.​Backends.​Audit

Post­Sharp.​Patterns.​Diagnostics.​Backends.​Common­Logging

Post­Sharp.​Patterns.​Diagnostics.​Backends.​Console

Post­Sharp.​Patterns.​Diagnostics.​Backends.​Event­Source

Post­Sharp.​Patterns.​Diagnostics.​Backends.​Log4Net

Post­Sharp.​Patterns.​Diagnostics.​Backends.​Microsoft

Post­Sharp.​Patterns.​Diagnostics.​Backends.​Multiplexer

Post­Sharp.​Patterns.​Diagnostics.​Backends.​NLog

Post­Sharp.​Patterns.​Diagnostics.​Backends.​Null

Post­Sharp.​Patterns.​Diagnostics.​Backends.​Serilog

Post­Sharp.​Patterns.​Diagnostics.​Backends.​Trace

Post­Sharp.​Patterns.​Diagnostics.​Backends.​Trace­Source

Post­Sharp.​Patterns.​Diagnostics.​Contexts

Post­Sharp.​Patterns.​Diagnostics.​Correlation

Post­Sharp.​Patterns.​Diagnostics.​Custom

Post­Sharp.​Patterns.​Diagnostics.​Custom.​Messages

Post­Sharp.​Patterns.​Diagnostics.​Formatters

Post­Sharp.​Patterns.​Diagnostics.​Record­Builders

Post­Sharp.​Patterns.​Diagnostics.​Threading­Instrumentation

Post­Sharp.​Patterns.​Diagnostics.​Transactions

Post­Sharp.​Patterns.​Diagnostics.​Transactions.​Model

Post­Sharp.​Patterns.​Dynamic­Advising

Post­Sharp.​Patterns.​Formatters

Post­Sharp.​Patterns.​Model

Post­Sharp.​Patterns.​Model.​Controls

Post­Sharp.​Patterns.​Model.​Type­Adapters

Post­Sharp.​Patterns.​Recording

Post­Sharp.​Patterns.​Recording.​Operations

Post­Sharp.​Patterns.​Threading

Post­Sharp.​Patterns.​Threading.​Models

Post­Sharp.​Patterns.​Utilities

Post­Sharp.​Patterns.​Xaml

Post­Sharp.​Reflection

Post­Sharp.​Reflection.​Method­Body

Post­Sharp.​Serialization

  • Article

Class AdvisableKeyedCollection<TKey, TItem>

Provides the abstract base class for a keyed collection, similar to KeyedCollection<TKey, TItem>, into which advices can be injected dynamically.

Inheritance
AdvisableKeyedCollection<TKey, TItem>
Namespace: PostSharp.Patterns.Collections
Assembly: PostSharp.Patterns.Common.dll
Syntax
public abstract class AdvisableKeyedCollection<TKey, TItem> : AdvisableCollection<TItem>, ISerializable, IDeserializationCallback, IList<TItem>, ICollection<TItem>, IList, IDynamicallyAdvisableCollection, ICollection, IDynamicallyAdvisable, IQueryInterface, INotifyPropertyChanged, IReadOnlyList<TItem>, IReadOnlyCollection<TItem>, IEnumerable<TItem>, IEnumerable, INotifyCollectionChanged
Type Parameters
Name Description
TKey

The type of keys in the collection.

TItem

The type of values in the collection.

Remarks

The API of this class is compatible with the KeyedCollection<TKey, TItem> class.

To learn how to extend this class, see the AdvisableCollection<T> class documentation.

Constructors

Name Description
AdvisableKeyedCollection()

Initializes a new instance of the AdvisableKeyedCollection<TKey, TItem> class that is empty and has the default initial capacity.

AdvisableKeyedCollection(int)

Initializes a new instance of the AdvisableKeyedCollection<TKey, TItem> class that is empty and has a specified initial capacity.

AdvisableKeyedCollection(int, IEqualityComparer<TKey>)

Initializes a new instance of the AdvisableKeyedCollection<TKey, TItem> class that has a specified initial capacity and a given equality comparer and uses the specified equality comparer.

AdvisableKeyedCollection(SerializationInfo, StreamingContext)

Deserialization constructor.

Properties

Name Description
Comparer

Gets the generic equality comparer that is used to determine equality of keys in the collection.

this[TKey]

Gets or sets the element with the specified key.

Methods

Name Description
ClearItems()

Removes all elements from the underlying collection.

Contains(TKey)

Determines whether the collection contains an element with the specified key.

GetKeyForItem(TItem)

Extracts the key from the specified element.

GetObjectData(SerializationInfo, StreamingContext)
IndexOfItem(TItem)

Searches for the specified object and returns the zero-based index of the first occurrence within the entire underlying collection.

InsertItem(int, TItem)

Inserts an element into the underlying collection at the specified index.

InsertItems(int, TItem[])

Inserts elements into the underlying collection at the specified index.

MoveItem(TItem, int, int)

Moves the element at the specified index to another index in the underlying collection.

RemoveItem(int)

Removes the element at the specified index of the underlying collection.

RemoveItems(int, int)

Removes the specified number of elements starting at the specified index of the underlying collection.

SetItem(int, TItem)

Replaces the element at the specified index of the underlying collection.

TryGetValue(TKey, out TItem)

Tries to get the element with the specified key.

Extension Methods