[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); }