public static object Wrap(object obj, Type wrapperType) { DoNotRemove(obj); DoNotRemove(wrapperType); if (obj == null) { return(null); } return(ReflectionHelperExtensions.Wrap(obj, wrapperType)); }
public void Simple() { var ti = ReflectionHelperExtensions.DefineWrapper <StaticFulentAPITestObject, IFluentAPITestObject>() .DefineProperty(x => x.PrivateStringProperty) .BindingFlags(BindingFlags.NonPublic) .EndMember() .DefineProperty(x => x.stringField) .BindingFlags(BindingFlags.NonPublic) .FieldAccessor() .EndMember() .DefineMethod(x => x.PrivateMethod(null)) .BindingFlags(BindingFlags.NonPublic | BindingFlags.Public) .EndMember() .Create(); Assert.AreEqual("hello", ti.PublicMethod("hello")); ti.stringField = "hello"; Assert.AreEqual("hello", ti.stringField); }