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

Method Invalidate

Invalidate(object)

Invalidates a cache dependency given an object, i.e. removes all cached items that are dependent on that object.

Declaration
public static void Invalidate(object dependency)
Parameters
Type Name Description
object dependency

Typically, an object. If a string, Delegate or ICacheDependency is passed, the proper overload of the method is invoked. Otherwise, dependency is wrapped into an ObjectDependency object.

Invalidate(ICacheDependency)

Invalidates a cache dependency given as an ICacheDependency, i.e. removes all cache items that are dependent on this dependency.

Declaration
public static void Invalidate(ICacheDependency dependency)
Parameters
Type Name Description
ICacheDependency dependency

A dependency.

Invalidate(string)

Invalidates a cache dependency given as string, i.e. removes all cache items that are dependent on this dependency key.

Declaration
public static void Invalidate(string dependencyKey)
Parameters
Type Name Description
string dependencyKey

Invalidate(MethodInfo, object, params object[])

Removes a method call result from the cache giving the MethodInfo representing the method, the instance and the arguments of the method call.

Declaration
public static void Invalidate(MethodInfo method, object instance, params object[] args)
Parameters
Type Name Description
MethodInfo method

The MethodInfo of the method call.

object instance

The value of the this instance, or null for static methods.

object[] args

The method arguments.

Invalidate<TReturn>(Func<TReturn>)

Removes a method call result from the cache giving the delegate of the method. This overload is for methods with 0 parameter.

Declaration
public static void Invalidate<TReturn>(Func<TReturn> method)
Parameters
Type Name Description
Func<TReturn> method

A delegate of the method to invalidate.

Type Parameters
Name Description
TReturn

The return type of the method.

Invalidate<TReturn, TParam1>(Func<TParam1, TReturn>, TParam1)

Removes a method call result from the cache giving the delegate of the method. This overload is for methods with 1 parameter.

Declaration
public static void Invalidate<TReturn, TParam1>(Func<TParam1, TReturn> method, TParam1 arg1)
Parameters
Type Name Description
Func<TParam1, TReturn> method

A delegate of the method to invalidate.

TParam1 arg1

Value of the first parameter.

Type Parameters
Name Description
TReturn

The return type of the method.

TParam1

Type of the first parameter.

Invalidate<TReturn, TParam1, TParam2>(Func<TParam1, TParam2, TReturn>, TParam1, TParam2)

Removes a method call result from the cache giving the delegate of the method. This overload is for methods with 2 parameters.

Declaration
public static void Invalidate<TReturn, TParam1, TParam2>(Func<TParam1, TParam2, TReturn> method, TParam1 arg1, TParam2 arg2)
Parameters
Type Name Description
Func<TParam1, TParam2, TReturn> method

A delegate of the method to invalidate.

TParam1 arg1

Value of the first parameter.

TParam2 arg2

Value of the second parameter.

Type Parameters
Name Description
TReturn

The return type of the method.

TParam1

Type of the first parameter.

TParam2

Type of the second parameter.

Invalidate<TReturn, TParam1, TParam2, TParam3>(Func<TParam1, TParam2, TParam3, TReturn>, TParam1, TParam2, TParam3)

Removes a method call result from the cache giving the delegate of the method. This overload is for methods with 3 parameters.

Declaration
public static void Invalidate<TReturn, TParam1, TParam2, TParam3>(Func<TParam1, TParam2, TParam3, TReturn> method, TParam1 arg1, TParam2 arg2, TParam3 arg3)
Parameters
Type Name Description
Func<TParam1, TParam2, TParam3, TReturn> method

A delegate of the method to invalidate.

TParam1 arg1

Value of the first parameter.

TParam2 arg2

Value of the second parameter.

TParam3 arg3

Value of the third parameter.

Type Parameters
Name Description
TReturn

The return type of the method.

TParam1

Type of the first parameter.

TParam2

Type of the second parameter.

TParam3

Type of the third parameter.

Invalidate<TReturn, TParam1, TParam2, TParam3, TParam4>(Func<TParam1, TParam2, TParam3, TParam4, TReturn>, TParam1, TParam2, TParam3, TParam4)

Removes a method call result from the cache giving the delegate of the method. This overload is for methods with 4 parameters.

Declaration
public static void Invalidate<TReturn, TParam1, TParam2, TParam3, TParam4>(Func<TParam1, TParam2, TParam3, TParam4, TReturn> method, TParam1 arg1, TParam2 arg2, TParam3 arg3, TParam4 arg4)
Parameters
Type Name Description
Func<TParam1, TParam2, TParam3, TParam4, TReturn> method

A delegate of the method to invalidate.

TParam1 arg1

Value of the first parameter.

TParam2 arg2

Value of the second parameter.

TParam3 arg3

Value of the third parameter.

TParam4 arg4

Value of the 4-th parameter.

Type Parameters
Name Description
TReturn

The return type of the method.

TParam1

Type of the first parameter.

TParam2

Type of the second parameter.

TParam3

Type of the third parameter.

TParam4

Type of the 4-th parameter.

Invalidate<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5>(Func<TParam1, TParam2, TParam3, TParam4, TParam5, TReturn>, TParam1, TParam2, TParam3, TParam4, TParam5)

Removes a method call result from the cache giving the delegate of the method. This overload is for methods with 5 parameters.

Declaration
public static void Invalidate<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5>(Func<TParam1, TParam2, TParam3, TParam4, TParam5, TReturn> method, TParam1 arg1, TParam2 arg2, TParam3 arg3, TParam4 arg4, TParam5 arg5)
Parameters
Type Name Description
Func<TParam1, TParam2, TParam3, TParam4, TParam5, TReturn> method

A delegate of the method to invalidate.

TParam1 arg1

Value of the first parameter.

TParam2 arg2

Value of the second parameter.

TParam3 arg3

Value of the third parameter.

TParam4 arg4

Value of the 4-th parameter.

TParam5 arg5

Value of the 5-th parameter.

Type Parameters
Name Description
TReturn

The return type of the method.

TParam1

Type of the first parameter.

TParam2

Type of the second parameter.

TParam3

Type of the third parameter.

TParam4

Type of the 4-th parameter.

TParam5

Type of the 5-th parameter.

Invalidate<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6>(Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TReturn>, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6)

Removes a method call result from the cache giving the delegate of the method. This overload is for methods with 6 parameters.

Declaration
public static void Invalidate<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6>(Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TReturn> method, TParam1 arg1, TParam2 arg2, TParam3 arg3, TParam4 arg4, TParam5 arg5, TParam6 arg6)
Parameters
Type Name Description
Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TReturn> method

A delegate of the method to invalidate.

TParam1 arg1

Value of the first parameter.

TParam2 arg2

Value of the second parameter.

TParam3 arg3

Value of the third parameter.

TParam4 arg4

Value of the 4-th parameter.

TParam5 arg5

Value of the 5-th parameter.

TParam6 arg6

Value of the 6-th parameter.

Type Parameters
Name Description
TReturn

The return type of the method.

TParam1

Type of the first parameter.

TParam2

Type of the second parameter.

TParam3

Type of the third parameter.

TParam4

Type of the 4-th parameter.

TParam5

Type of the 5-th parameter.

TParam6

Type of the 6-th parameter.

Invalidate<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7>(Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TReturn>, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7)

Removes a method call result from the cache giving the delegate of the method. This overload is for methods with 7 parameters.

Declaration
public static void Invalidate<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7>(Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TReturn> method, TParam1 arg1, TParam2 arg2, TParam3 arg3, TParam4 arg4, TParam5 arg5, TParam6 arg6, TParam7 arg7)
Parameters
Type Name Description
Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TReturn> method

A delegate of the method to invalidate.

TParam1 arg1

Value of the first parameter.

TParam2 arg2

Value of the second parameter.

TParam3 arg3

Value of the third parameter.

TParam4 arg4

Value of the 4-th parameter.

TParam5 arg5

Value of the 5-th parameter.

TParam6 arg6

Value of the 6-th parameter.

TParam7 arg7

Value of the 7-th parameter.

Type Parameters
Name Description
TReturn

The return type of the method.

TParam1

Type of the first parameter.

TParam2

Type of the second parameter.

TParam3

Type of the third parameter.

TParam4

Type of the 4-th parameter.

TParam5

Type of the 5-th parameter.

TParam6

Type of the 6-th parameter.

TParam7

Type of the 7-th parameter.

Invalidate<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8>(Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TReturn>, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8)

Removes a method call result from the cache giving the delegate of the method. This overload is for methods with 8 parameters.

Declaration
public static void Invalidate<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8>(Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TReturn> method, TParam1 arg1, TParam2 arg2, TParam3 arg3, TParam4 arg4, TParam5 arg5, TParam6 arg6, TParam7 arg7, TParam8 arg8)
Parameters
Type Name Description
Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TReturn> method

A delegate of the method to invalidate.

TParam1 arg1

Value of the first parameter.

TParam2 arg2

Value of the second parameter.

TParam3 arg3

Value of the third parameter.

TParam4 arg4

Value of the 4-th parameter.

TParam5 arg5

Value of the 5-th parameter.

TParam6 arg6

Value of the 6-th parameter.

TParam7 arg7

Value of the 7-th parameter.

TParam8 arg8

Value of the 8-th parameter.

Type Parameters
Name Description
TReturn

The return type of the method.

TParam1

Type of the first parameter.

TParam2

Type of the second parameter.

TParam3

Type of the third parameter.

TParam4

Type of the 4-th parameter.

TParam5

Type of the 5-th parameter.

TParam6

Type of the 6-th parameter.

TParam7

Type of the 7-th parameter.

TParam8

Type of the 8-th parameter.

Invalidate<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9>(Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9, TReturn>, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9)

Removes a method call result from the cache giving the delegate of the method. This overload is for methods with 9 parameters.

Declaration
public static void Invalidate<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9>(Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9, TReturn> method, TParam1 arg1, TParam2 arg2, TParam3 arg3, TParam4 arg4, TParam5 arg5, TParam6 arg6, TParam7 arg7, TParam8 arg8, TParam9 arg9)
Parameters
Type Name Description
Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9, TReturn> method

A delegate of the method to invalidate.

TParam1 arg1

Value of the first parameter.

TParam2 arg2

Value of the second parameter.

TParam3 arg3

Value of the third parameter.

TParam4 arg4

Value of the 4-th parameter.

TParam5 arg5

Value of the 5-th parameter.

TParam6 arg6

Value of the 6-th parameter.

TParam7 arg7

Value of the 7-th parameter.

TParam8 arg8

Value of the 8-th parameter.

TParam9 arg9

Value of the 9-th parameter.

Type Parameters
Name Description
TReturn

The return type of the method.

TParam1

Type of the first parameter.

TParam2

Type of the second parameter.

TParam3

Type of the third parameter.

TParam4

Type of the 4-th parameter.

TParam5

Type of the 5-th parameter.

TParam6

Type of the 6-th parameter.

TParam7

Type of the 7-th parameter.

TParam8

Type of the 8-th parameter.

TParam9

Type of the 9-th parameter.

Invalidate<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9, TParam10>(Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9, TParam10, TReturn>, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9, TParam10)

Removes a method call result from the cache giving the delegate of the method. This overload is for methods with 10 parameters.

Declaration
public static void Invalidate<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9, TParam10>(Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9, TParam10, TReturn> method, TParam1 arg1, TParam2 arg2, TParam3 arg3, TParam4 arg4, TParam5 arg5, TParam6 arg6, TParam7 arg7, TParam8 arg8, TParam9 arg9, TParam10 arg10)
Parameters
Type Name Description
Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9, TParam10, TReturn> method

A delegate of the method to invalidate.

TParam1 arg1

Value of the first parameter.

TParam2 arg2

Value of the second parameter.

TParam3 arg3

Value of the third parameter.

TParam4 arg4

Value of the 4-th parameter.

TParam5 arg5

Value of the 5-th parameter.

TParam6 arg6

Value of the 6-th parameter.

TParam7 arg7

Value of the 7-th parameter.

TParam8 arg8

Value of the 8-th parameter.

TParam9 arg9

Value of the 9-th parameter.

TParam10 arg10

Value of the 10-th parameter.

Type Parameters
Name Description
TReturn

The return type of the method.

TParam1

Type of the first parameter.

TParam2

Type of the second parameter.

TParam3

Type of the third parameter.

TParam4

Type of the 4-th parameter.

TParam5

Type of the 5-th parameter.

TParam6

Type of the 6-th parameter.

TParam7

Type of the 7-th parameter.

TParam8

Type of the 8-th parameter.

TParam9

Type of the 9-th parameter.

TParam10

Type of the 10-th parameter.

  • Navigation

In this article

Invalidate(object)

Invalidate(ICacheDependency)

Invalidate(string)

Invalidate(MethodInfo, object, params object[])

Invalidate<TReturn>(Func<TReturn>)

Invalidate<TReturn, TParam1>(Func<TParam1, TReturn>, TParam1)

Invalidate<TReturn, TParam1, TParam2>(Func<TParam1, TParam2, TReturn>, TParam1, TParam2)

Invalidate<TReturn, TParam1, TParam2, TParam3>(Func<TParam1, TParam2, TParam3, TReturn>, TParam1, TParam2, TParam3)

Invalidate<TReturn, TParam1, TParam2, TParam3, TParam4>(Func<TParam1, TParam2, TParam3, TParam4, TReturn>, TParam1, TParam2, TParam3, TParam4)

Invalidate<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5>(Func<TParam1, TParam2, TParam3, TParam4, TParam5, TReturn>, TParam1, TParam2, TParam3, TParam4, TParam5)

Invalidate<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6>(Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TReturn>, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6)

Invalidate<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7>(Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TReturn>, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7)

Invalidate<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8>(Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TReturn>, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8)

Invalidate<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9>(Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9, TReturn>, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9)

Invalidate<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9, TParam10>(Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9, TParam10, TReturn>, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9, TParam10)