public virtual void VisitMethodOfExpression(IMethodOfExpression value)
 {
     VisitMethodReference(value.Method);
     if (value.Type != null)
     {
         VisitTypeReference(value.Type);
     }
 }
 public virtual void VisitMethodOfExpression(IMethodOfExpression value)
 {
     this.VisitMethodReference(value.Method);
     if (value.Type != null)
     {
         this.VisitTypeReference(value.Type);
     }
 }
            private void WriteMethodOfExpression(IMethodOfExpression value, IFormatter formatter)
            {
                formatter.WriteKeyword("methodof");
                formatter.Write("(");

                this.WriteType(value.Method.DeclaringType, formatter);
                formatter.Write(".");
                formatter.WriteReference(value.Method.Name, this.GetMethodReferenceDescription(value.Method), value.Method);

                if (value.Type != null)
                {
                    formatter.Write(", ");
                    this.WriteType(value.Type, formatter);
                }

                formatter.Write(")");
            }
 public virtual IExpression TransformMethodOfExpression(IMethodOfExpression value)
 {
     if (value.Type != null)
     {
         value.Type = this.TransformTypeReference(value.Type);
     }
     return value;
 }