Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ GetUserDefinedUnaryOperator()

static UnaryExpression System.Linq.Expressions.Expression< TDelegate >.GetUserDefinedUnaryOperator ( ExpressionType unaryType,
string name,
Expression< TDelegate > operand )
inlinestaticprivateinherited

Definition at line 5033 of file Expression.cs.

5034 {
5035 Type type = operand.Type;
5036 Type[] array = new Type[1] { type };
5037 Type nonNullableType = type.GetNonNullableType();
5038 MethodInfo anyStaticMethodValidated = nonNullableType.GetAnyStaticMethodValidated(name, array);
5039 if (anyStaticMethodValidated != null)
5040 {
5041 return new UnaryExpression(unaryType, operand, anyStaticMethodValidated.ReturnType, anyStaticMethodValidated);
5042 }
5043 if (type.IsNullableType())
5044 {
5046 anyStaticMethodValidated = nonNullableType.GetAnyStaticMethodValidated(name, array);
5047 if (anyStaticMethodValidated != null && anyStaticMethodValidated.ReturnType.IsValueType && !anyStaticMethodValidated.ReturnType.IsNullableType())
5048 {
5049 return new UnaryExpression(unaryType, operand, anyStaticMethodValidated.ReturnType.GetNullableType(), anyStaticMethodValidated);
5050 }
5051 }
5052 return null;
5053 }

References System.array, and System.type.

Referenced by System.Linq.Expressions.Expression< TDelegate >.GetUserDefinedUnaryOperatorOrThrow(), and System.Linq.Expressions.Expression< TDelegate >.Not().