public void echoTest2() { using (dynamic l = new ConariX(gCfgUnlib)) { string exp = "my string-123 !"; using (var uns = new UnmanagedString(exp, UnmanagedString.SType.Unicode)) { WCharPtr wchrptr = uns; Assert.Equal(exp, l.get_WCharPtrVal <WCharPtr>(wchrptr)); Assert.Equal(exp, l.bind <Func <WCharPtr, WCharPtr> >("get_WCharPtrVal")(wchrptr)); var dyn = l.bind(Dynamic.GetMethodInfo(typeof(WCharPtr), typeof(WCharPtr)), "get_WCharPtrVal"); Assert.Equal(exp, (WCharPtr)dyn.dynamic.Invoke(null, new object[] { wchrptr })); } } }