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 MethodBodyVisitor

Abstract implementation of a visitor of method bodies (IMethodBody and IExpression).

Inheritance
MethodBodyVisitor
Namespace: PostSharp.Reflection.MethodBody
Assembly: PostSharp.dll
Syntax
public abstract class MethodBodyVisitor
Remarks

This class provides an abstract implementation, which only ensures that the proper visiting method gets called for every node of the tree, without any other effect. Concrete implementations typically override specific visiting methods, and call the base implementation to ensure that children nodes are being processed too.

Constructors

Name Description
MethodBodyVisitor()

Methods

Name Description
VisitAddressOfExpression(IAddressOfExpression)

Visits an expression of type IAddressOfExpression and, recursively, all children elements.

VisitBinaryExpression(IBinaryExpression)

Visits an expression of type IBinaryExpression and, recursively, all children elements.

VisitBlockExpression(IBlockExpression)

Visits an instruction block and, recursively, all syntax nodes.

VisitConditionalExpression(IConditionalExpression)

Visits an expression of type IUnaryExpression and, recursively, all children elements.

VisitConstantExpression(IConstantExpression)

Visits an expression of type IGotoExpression.

VisitCopyBufferExpression(ICopyBufferExpression)

Visits an expression of type ICopyBufferExpression and, recursively, all children elements.

VisitFieldExpression(IFieldExpression)

Visits an expression of type IFieldExpression.

VisitGotoExpression(IGotoExpression)

Visits an expression of type IGotoExpression.

VisitInitBufferExpression(IInitBufferExpression)

Visits an expression of type IInitBufferExpression and, recursively, all children elements.

VisitLocalVariable(ILocalVariable)

Visits a local variable definition.

VisitMetadataExpression(IMetadataExpression)

Visits an expression of type IMetadataExpression.

VisitMethodBody(IMethodBody)

Visits a method body and, recursively, all syntax nodes.

VisitMethodCallExpression(IMethodCallExpression)

Visits an expression of type IMethodCallExpression and, recursively, all children elements.

VisitMethodPointerExpression(IMethodPointerExpression)

Visits an expression of type IMethodPointerExpression and, recursively, all children elements.

VisitNewArrayExpression(INewArrayExpression)

Visits an expression of type INewArrayExpression and, recursively, all children elements.

VisitNewObjectExpression(INewObjectExpression)

Visits an expression of type INewObjectExpression and, recursively, all children elements.

VisitParameterExpression(IParameterExpression)

Visits an expression of type IParameterExpression.

VisitStatementExpression(IStatementExpression)

Visits an instruction block and, recursively, all syntax nodes.

VisitSwitchExpression(ISwitchExpression)

Visits an expression of type ISwitchExpression and, recursively, all children elements.

VisitSyntaxElement(IMethodBodyElement)

Visits a syntax element and, recursively, all children elements.

VisitUnaryExpression(IUnaryExpression)

Visits an expression of type IUnaryExpression and, recursively, all children elements.

VisitValueOfExpression(IValueOfExpression)

Visits an expression of type IValueOfExpression and, recursively, all children elements.

VisitVariableExpression(ILocalVariableExpression)

Visits an expression of type ILocalVariableExpression.

VisitZeroaryExpression(IZeroaryExpression)

Visits an expression of type IZeroaryExpression.

  • Navigation

In this article

Constructors

Methods