MathKernel is a non-visual component that provides a very high-level interface for interacting with Mathematica. It is especially intended for use in visual programming environments, as it is highly configurable via properties.
Public static (Shared in Visual Basic) members of this type are
safe for multithreaded operations. Instance members are not guaranteed to be
MathKernel provides a higher-level interface than IKernelLink. For many types of .NET programs that use Mathematica for computations, the IKernelLink interface provides ideal functionality. For some types of programs, however, programmers might find the MathKernel object even easier to use. This is especially true for programs that want to capture not just the result of a computation, but also messages, Print output, or graphics generated as side effects of the computation.
The typical use of a MathKernel is to set the Input property, call the Compute method, and when it returns you can get the various outputs produced by the computation via the Result, Messages, PrintOutput, and Graphics properties.
The .NET/Link distribution contains a sample program showing the use of MathKernel. You can find it in [Mathematica directory]\AddOns\NETLink\Examples\Part2\MathKernel.