public void TestIndexerWithTwoParams() { var refObj = new Reflector(typeof(IndexerTestTarget)); var obj = new IndexerTestTarget(); var refItem = new Reflector(NSName + ".IndexerItem", typeof(IndexerTestTarget)); //値を取得 var item4three = refObj.GetIndexer(obj, 4, "three"); Assert.AreEqual(3, refItem.GetField(item4three, "num")); //値を設定 var item12hoge = refItem.NewInstance(int.MaxValue); refObj.SetIndexer(obj, item12hoge, 12, "hoge"); //設定した値を確認 var res = refObj.GetIndexer(obj, 12, "hoge"); Assert.AreEqual(int.MaxValue, refItem.GetField(res, "num")); }
public void TestIndexerWithOneParam() { var refObj = new Reflector(typeof(IndexerTestTarget)); var obj = new IndexerTestTarget(); var refItem = new Reflector(NSName + ".IndexerItem", typeof(IndexerTestTarget)); //値を取得 var item02 = refObj.GetIndexer(obj, 2); Assert.AreEqual(20, refItem.GetField(item02, "num")); //値を設定 var item11 = refItem.NewInstance(1234); refObj.SetIndexer(obj, item11, 11); //設定した値を確認 var res = refObj.GetIndexer(obj, 11); Assert.AreEqual(1234, refItem.GetField(res, "num")); }