Boo.Lang.Compiler.Steps.ProcessMethodBodies.CreateNullableInstantiation C# (CSharp) Метод

CreateNullableInstantiation() приватный Метод

private CreateNullableInstantiation ( Expression val, IType type ) : Expression
val Boo.Lang.Compiler.Ast.Expression
type IType
Результат Boo.Lang.Compiler.Ast.Expression
        private Expression CreateNullableInstantiation(Expression val, IType type)
        {
            MethodInvocationExpression mie = new MethodInvocationExpression();
            GenericReferenceExpression gre = new GenericReferenceExpression();
            gre.Target = new MemberReferenceExpression(new ReferenceExpression("System"), "Nullable");
            gre.GenericArguments.Add(TypeReference.Lift(Nullable.GetUnderlyingType(((ExternalType) type).ActualType)));
            mie.Target = gre;
            if (null != val && !IsNull(val))
                mie.Arguments.Add(val);
            return mie;
        }

Same methods

ProcessMethodBodies::CreateNullableInstantiation ( IType type ) : Expression
ProcessMethodBodies