[Test] public void Confirm_That_We_Can_Access_Variables_Across_AppDomains_Using_Reflection()
        {
            Func <object> get_TMConfig = () => o2Proxy.staticInvocation("TeamMentor.Schemas",
                                                                        "TeamMentor.CoreLib.TMConfig",
                                                                        "get_Current", null);

            var tmConfig = get_TMConfig().assert_Not_Null();                                  // this is an MarshalByRefObject

            var originalValue = "TM_Reader";
            var newValue      = "TM_Reader".add_5_RandomLetters();


            tmConfig.prop("WindowsAuthentication").prop <string>("ReaderGroup")                // get current value
            .assert_Is_Equal_To(originalValue);

            tmConfig.prop("WindowsAuthentication").prop("ReaderGroup", newValue);             // change it it, with no need to call
                                                                                              //   TMConfig.set_Current(tmConfig)

            var tmConfig_AfterChange = get_TMConfig().assert_Not_Null();                      // get a copy of the modified TMconfig

            tmConfig_AfterChange.prop("WindowsAuthentication").prop <string>("ReaderGroup")
            .assert_Is_Equal_To(newValue);                                                    // confirm change

            tmConfig.prop("WindowsAuthentication").prop("ReaderGroup", originalValue);        // restore originalValue
        }
 public static O2Proxy executeScript(this O2Proxy o2Proxy, string scriptToExecute)
 {
     o2Proxy.staticInvocation("O2_External_SharpDevelop", "FastCompiler_ExtensionMethods", "executeSourceCode", new object[] { scriptToExecute });
     return(o2Proxy);
 }