reactiveui/ReactiveUI — pull request #289 by jlaanstra (2013-05-18 15:10:36+00:00)
Title: Add Flexibility to RxUI initialization.

This pull request aims to make RxUI initialization always awesome, with the cost of requiring one line of user code.

## Why?

RxUI is currently initialized by using a static constructor on `RxApp`. This constructor initializes the properties of `RxApp` and the clr guarantees it is always run before accessing any property on the class. This means that even if you're using your own IoC container with RxUI, it still generates its own and then throws it away.

## How does this PR change that?

Instead of using a static constructor we use a static `Initialize` method. It is the responsibility of the app developer to call this method when it is needed, most likely during app startup. Or, if the developer want to use his own IoC, he can initialize RxUI himself by setting the properties. Of course the default behavior is still available by calling `Initialize`.

## Disadvantages

Requires the app dev to add one additional line of code to his app:

`RxApp.Initialize()`

I don't think this it that big of a deal and also makes a dev more familiar with this class, which defines a large part of how RxUI works.