Beispiel #1
0
        internal UsingExpression(Expression resource, bool configureAwait)
        {
            disposeMethod = resource.Type.GetDisposeAsyncMethod() ?? throw new ArgumentException(ExceptionMessages.DisposePatternExpected(resource.Type), nameof(resource));
            if (resource is ParameterExpression param)
            {
                assignment = null;
                Resource   = param;
            }
            else
            {
                assignment = Assign(Resource = Variable(resource.Type, "resource"), resource);
            }

            this.configureAwait = configureAwait;
        }
Beispiel #2
0
 internal UsingExpression(Expression resource)
 {
     disposeMethod = resource.Type.GetDisposeMethod() ?? throw new ArgumentNullException(ExceptionMessages.DisposePatternExpected(resource.Type));
     if (resource is ParameterExpression param)
     {
         assignment = null;
         Resource   = param;
     }
     else
     {
         assignment = Assign(Resource = Variable(resource.Type, "resource"), resource);
     }
 }