IL Class

DECLARATION
public static class IL
NAMESPACE
LanguageExt

Methods

Compare<A>()
SUMMARY

Provides a function that compares two record type arguments for structural equality, this compares the *fields* from each argument for equality and returns 0 if all are equal, -1 if X is less than Y, and 1 if X is greater than Y.

REMARKS
You should cache the result of this method to reduce the work of building the IL each time. Better still use the RecordType<A> type to provide a cached version of these results.
DECLARATION
public static Func<A, A, int> Compare<A>()
RETURNS
Func<A, A, int>
Ctor<A, B, C, D, R>(Func<ConstructorInfo, bool>)
SUMMARY

Emits the IL to instantiate a type of R with four arguments to the constructor

PARAMETERS
ctorPred
Func<ConstructorInfo, bool>
DECLARATION
public static Func<A, B, C, D, R> Ctor<A, B, C, D, R>(Func<ConstructorInfo, bool> ctorPred = null)
RETURNS
Func<A, B, C, D, R>
Ctor<A, B, C, R>(Func<ConstructorInfo, bool>)
SUMMARY

Emits the IL to instantiate a type of R with three arguments to the constructor

PARAMETERS
ctorPred
Func<ConstructorInfo, bool>
DECLARATION
public static Func<A, B, C, R> Ctor<A, B, C, R>(Func<ConstructorInfo, bool> ctorPred = null)
RETURNS
Func<A, B, C, R>
Ctor<A, B, R>(Func<ConstructorInfo, bool>)
SUMMARY

Emits the IL to instantiate a type of R with two arguments to the constructor

PARAMETERS
ctorPred
Func<ConstructorInfo, bool>
DECLARATION
public static Func<A, B, R> Ctor<A, B, R>(Func<ConstructorInfo, bool> ctorPred = null)
RETURNS
Func<A, B, R>
Ctor<A, R>(Func<ConstructorInfo, bool>)
SUMMARY

Emits the IL to instantiate a type of R with a single argument to the constructor

PARAMETERS
ctorPred
Func<ConstructorInfo, bool>
DECLARATION
public static Func<A, R> Ctor<A, R>(Func<ConstructorInfo, bool> ctorPred = null)
RETURNS
Func<A, R>
Equals<A>()
SUMMARY

Provides a function that compares two record type arguments (one of type A and one of object) for structural equality, this first makes sure that the Object argument is of type A and then compares the *fields* from each argument for equality and returns true if all are equal.

REMARKS
You should cache the result of this method to reduce the work of building the IL each time. Better still use the RecordType<A> type to provide a cached version of these results.
DECLARATION
public static Func<A, object, bool> Equals<A>()
RETURNS
Func<A, object, bool>
EqualsTyped<A>()
SUMMARY

Provides a function that compares two record type arguments for structural equality, this first compares the *fields* from each argument for equality and returns true if all are equal.

REMARKS
You should cache the result of this method to reduce the work of building the IL each time. Better still use the RecordType<A> type to provide a cached version of these results.
DECLARATION
public static Func<A, A, bool> EqualsTyped<A>()
RETURNS
Func<A, A, bool>
Func1<TYPE, A, R>(Func<MethodInfo, bool>)
SUMMARY

Emits the IL to invoke a static method with one argument

PARAMETERS
methodPred
Func<MethodInfo, bool>
DECLARATION
public static Option<Func<A, R>> Func1<TYPE, A, R>(Func<MethodInfo, bool> methodPred = null)
RETURNS
Option<Func<A, R>>
Func1<TYPE, R>(Type, Func<MethodInfo, bool>)
SUMMARY

Emits the IL to invoke a static method

PARAMETERS
arg1
Type
methodPred
Func<MethodInfo, bool>
DECLARATION
public static Option<Func<object, R>> Func1<TYPE, R>(Type arg1, Func<MethodInfo, bool> methodPred = null)
RETURNS
Option<Func<object, R>>
Func2<TYPE, A, B, R>(Func<MethodInfo, bool>)
SUMMARY

Emits the IL to invoke a static method with two arguments

PARAMETERS
methodPred
Func<MethodInfo, bool>
DECLARATION
public static Option<Func<A, B, R>> Func2<TYPE, A, B, R>(Func<MethodInfo, bool> methodPred = null)
RETURNS
Option<Func<A, B, R>>
Func3<TYPE, A, B, C, R>(Func<MethodInfo, bool>)
SUMMARY

Emits the IL to invoke a static method with three arguments

PARAMETERS
methodPred
Func<MethodInfo, bool>
DECLARATION
public static Option<Func<A, B, C, R>> Func3<TYPE, A, B, C, R>(Func<MethodInfo, bool> methodPred = null)
RETURNS
Option<Func<A, B, C, R>>
Func4<TYPE, A, B, C, D, R>(Func<MethodInfo, bool>)
SUMMARY

Emits the IL to invoke a static method with four arguments

PARAMETERS
methodPred
Func<MethodInfo, bool>
DECLARATION
public static Option<Func<A, B, C, D, R>> Func4<TYPE, A, B, C, D, R>(Func<MethodInfo, bool> methodPred = null)
RETURNS
Option<Func<A, B, C, D, R>>
GetHashCode<A>()
SUMMARY

Builds a function to provide a hash-code for a record type. the hash-code is built from the hash-codes of all the *fields* that make up the type.

REMARKS
You should cache the result of this method to reduce the work of building the IL each time. Better still use the RecordType<A> type to provide a cached version of these results.
DECLARATION
public static Func<A, int> GetHashCode<A>()
RETURNS
Func<A, int>