static void Main(string[] args)
{
// it doesn't use the decorated object.
var testViewModel2 = SmObjectFactory.Container.GetInstance<TestViewModel2>();
testViewModel2.PropertyChanged += (sender, e) =>
{
Console.WriteLine("Test1: PropertyChanged: {0}", e.PropertyName);
};
testViewModel2.Text = "Test 1 ...";
// it uses the decorated object.
var testViewModel_2 = SmObjectFactory.Container.GetAllInstances<BaseViewModel>()
.OfType<TestViewModel2>()
.First();
testViewModel_2.PropertyChanged += (sender, e) =>
{
Console.WriteLine("Test2: PropertyChanged: {0}", e.PropertyName);
};
testViewModel_2.Text = "Test 2 ...";
}