public void Dispose() { parent.Unlock(); }
public static void test_string_buffer(afh.Application.Log log) { log.Lock(); log.WriteLine("---- test1 -----------"); log.WriteLine(" 同内容の文字列即値"); log.WriteLine("----------------------"); string text0 = "AIUEO"; string text1 = "AIUEO"; log.WriteVar("text0", text0); log.WriteVar("text1", text1); log.WriteLine("text1 を直接書き換え..."); string_ToLower(text1); log.WriteVar("text0", text0); log.WriteVar("text1", text1); // 結果: 両方変更されていた log.WriteLine(); log.WriteLine("---- test2 -----------"); log.WriteLine(" 即値書き換え後、書き換え前の即値を代入したつもり"); log.WriteLine("----------------------"); log.WriteLine("text0 に AIUEO を代入..."); text0 = "AIUEO"; log.WriteVar("text0", text0); log.WriteLine("text0 に \"AIUE\" を代入..."); log.WriteLine("text0+=\"O\"..."); text0 = "AIUE"; text0 += "O"; log.WriteVar("text0", text0); log.WriteLine(); log.WriteLine("---- test3 -----------"); log.WriteLine(" +\"\" で異なるバッファになるか"); log.WriteLine("----------------------"); text0 = "IROHA"; text1 = text0 + ""; log.WriteVar("text0", text0); log.WriteVar("text1=text0+\"\"", text1); log.WriteLine("text1 を直接書き換え..."); string_ToLower(text1); log.WriteVar("text0", text0); log.WriteVar("text1", text1); log.WriteLine(); log.WriteLine("---- test4 -----------"); log.WriteLine(" SubString(0) で異なるバッファになるか"); log.WriteLine("----------------------"); text0 = "AMETSUCHI"; text1 = text0.Substring(0); log.WriteVar("text0", text0); log.WriteVar("text1=text2.SubString(0)", text1); log.WriteLine("text1 を直接書き換え..."); string_ToLower(text1); log.WriteVar("text0", text0); log.WriteVar("text1", text1); // 同じインスタンス log.WriteLine(); log.WriteLine("---- test5 -----------"); log.WriteLine(" SubString(*,*) で異なるバッファになるか"); log.WriteLine("----------------------"); text0 = "TAWYINI"; text1 = text0.Substring(2, 3); log.WriteVar("text0", text0); log.WriteVar("text1=text2.SubString(2,3)", text1); log.WriteLine("text1 を直接書き換え..."); string_ToLower(text1); log.WriteVar("text0", text0); log.WriteVar("text1", text1); // 異なるインスタンス log.WriteLine(); log.Unlock(); }