コード例 #1
0
 /// <summary>
 /// Accepts the specified visitor, by default dispatching to <see cref="ExpressionTreeVisitor.VisitExtensionExpression"/>. 
 /// Inheritors of the <see cref="ExtensionExpression"/> class can override this method in order to dispatch to a specific Visit method.
 /// </summary>
 /// <param name="visitor">The visitor whose Visit method should be invoked.</param>
 /// <returns>The <see cref="Expression"/> returned by the visitor.</returns>
 /// <remarks>
 /// Overriders can test the <paramref name="visitor"/> for a specific interface. If the visitor supports the interface, the extension expression 
 /// can dispatch to the respective strongly-typed Visit method declared in the interface. If it does not, the extension expression should call 
 /// the base implementation of <see cref="Accept"/>, which will dispatch to <see cref="ExpressionTreeVisitor.VisitExtensionExpression"/>.
 /// </remarks>
 public virtual Expression Accept (ExpressionTreeVisitor visitor)
 {
   ArgumentUtility.CheckNotNull ("visitor", visitor);
   
   return visitor.VisitExtensionExpression (this);
 }