//リフレクションを使用してプライベートメソッドにアクセスする RrDb.addOneDat(string,OneDat) public static void AddOneDat(RrDb sut, string domainName, OneDat oneDat) { var type = sut.GetType(); var func = type.GetMethod("AddOneDat", BindingFlags.NonPublic | BindingFlags.Instance); try{ func.Invoke(sut, new object[]{domainName, oneDat}); } catch (Exception e) { //リフレクションで呼び出したメソッドで例外が発生すると、System.Reflection.TargetInvocationException //でラップされて、InnerException プロパティに発生した例外が設定される throw e.InnerException; } }
//リフレクションを使用してプライベートメソッドにアクセスする RrDb.addNamedCaLine(string tmpName, string str) public static string AddNamedCaLine(RrDb sut, string tmpName, string str) { var type = sut.GetType(); var func = type.GetMethod("AddNamedCaLine", BindingFlags.NonPublic | BindingFlags.Instance); try{ return (string) func.Invoke(sut, new object[]{tmpName, str}); } catch (Exception e){ //リフレクションで呼び出したメソッドで例外が発生すると、System.Reflection.TargetInvocationException //でラップされて、InnerException プロパティに発生した例外が設定される throw e.InnerException; } }
//リフレクションを使用してプライベートメソッドにアクセスする RrDb.size() public static int Size(RrDb sut) { var type = sut.GetType(); var func = type.GetMethod("Size", BindingFlags.NonPublic | BindingFlags.Instance); return (int) func.Invoke(sut, new object[]{}); }
//リフレクションを使用してプライベートメソッドにアクセスする RrDb.addOneDat(string,OneDat) public static bool InitSoa(RrDb sut, string domainName, string mail, uint serial, uint refresh, uint retry, uint expire, uint minimum) { var type = sut.GetType(); var func = type.GetMethod("InitSoa", BindingFlags.NonPublic | BindingFlags.Instance); return (bool) func.Invoke(sut, new object[]{domainName, mail, serial, refresh, retry, expire, minimum}); }
//リフレクションを使用してプライベートメソッドにアクセスする RrDb.initLocalHost() public static void InitLocalHost(RrDb sut) { var type = sut.GetType(); var func = type.GetMethod("InitLocalHost", BindingFlags.NonPublic | BindingFlags.Instance); func.Invoke(sut, new object[]{}); }
//リフレクションを使用してプライベートメソッドにアクセスする RrDb.get(int) public static OneRr Get(RrDb sut, int index) { var type = sut.GetType(); var func = type.GetMethod("Get", BindingFlags.NonPublic | BindingFlags.Instance); return (OneRr) func.Invoke(sut, new object[]{index}); }