public void TestIgnoreException() { var proxy = AspectFactory.BuildProxy <AspectTester>(); //拦截器没有设置返回值,取返回值类型为非可空类型的值类型时,则会引发新的异常 proxy.IgnoreException(); }
public void TestPropertyValue() { var proxy = AspectFactory.BuildProxy <AspectTester>(); proxy.Name = "fireasy"; var name = proxy.Name; }
public void TestGlobalIntercept() { var proxy = AspectFactory.BuildProxy <AspectTesterEx>(); Console.WriteLine(proxy.Name); Console.WriteLine(proxy.None); Console.WriteLine(proxy.TestMethod("huangxd")); }
public void TestIgnoreAnotherException() { var proxy = AspectFactory.BuildProxy <AspectTester>(); var tb = proxy.IgnoreAnotherException(); Assert.IsNull(tb); }
public async Task TestAsyncMethod() { var proxy = AspectFactory.BuildProxy <AspectTester>(); var str = await proxy.TestAsync("fireasy"); Assert.AreEqual("hello fireasy", str); }
public void TestAsyncMethod() { var proxy = AspectFactory.BuildProxy <AspectTester>(); var str = proxy.TestAsync("fireasy").Result; Assert.AreEqual("hello fireasy", str); }
public void TestIgnoreExceptionHasReturnValue() { var proxy = AspectFactory.BuildProxy <AspectTester>(); var result = proxy.IgnoreExceptionHasReturnValue(); Assert.AreEqual(99, result); }
public void TestWithOutParameters() { var proxy = AspectFactory.BuildProxy <AspectTester>(); var age = 19; DateTime birthday; object any = null; proxy.WithOutParameters("fireasy", ref age, out birthday, ref any); Assert.AreEqual(age, 21); Assert.AreEqual(birthday, DateTime.Parse("2009-2-2")); Assert.IsNotNull(any); }
/// <summary> /// 创建指定类型的实例对象。 /// </summary> /// <param name="type"></param> /// <param name="args"></param> /// <returns></returns> public static object New(this Type type, params object[] args) { Guard.ArgumentNull(type, nameof(type)); //如果支持 Aop,则用Aop生成 if (typeof(IAopSupport).IsAssignableFrom(type) && !typeof(IAopImplement).IsAssignableFrom(type)) { return(AspectFactory.BuildProxy(type, args)); } if (type.IsInterface || type.IsAbstract) { type = type.BuildImplementType(); } return(InternalNew(type, args)); }
public void TestWithOutParametersComplex() { var proxy = AspectFactory.BuildProxy <AspectTester>(); int age = 19, age1; string sex = null, sex1; DateTime date = DateTime.Now, date1; decimal? money = 0, money1; object any = null, any1; proxy.WithOutParametersComplex("fireasy", ref age, out age1, ref sex, out sex1, ref date, out date1, ref money, out money1, ref any, out any1); Assert.AreEqual(age1, 21); Assert.AreEqual(sex1, "男"); Assert.AreEqual(date1, DateTime.Parse("2009-1-1")); Assert.AreEqual(money1, 334.4m); Assert.IsNotNull(any1); }
public void TestGenericCall() { var proxy = AspectFactory.BuildProxy <AspectTester>(); proxy.GenericCall("fireasy", 22); }
public void TestPrintParameters() { var proxy = AspectFactory.BuildProxy <AspectTester>(); proxy.PrintParameters("fireasy", 22, null); }
public void TestSampleCallByParameter() { var proxy = AspectFactory.BuildProxy <AspectTester>("fireasy"); proxy.SampleCall(); }
public void TestThrowException() { var proxy = AspectFactory.BuildProxy <AspectTester>(); proxy.ThrowException(); }
public void TestSampleCall() { var proxy = AspectFactory.BuildProxy <AspectTester>(); proxy.SampleCall(); }
public void TestMultiCall() { var proxy = AspectFactory.BuildProxy <AspectTester>(); proxy.MultiCall("fireasy"); }
public void TestContextTarget() { var proxy = AspectFactory.BuildProxy <AspectTester>(); proxy.ContextTarget(); }
public void TestWithCustomInterceptAttribute() { var proxy = AspectFactory.BuildProxy <AspectTester>(); proxy.WithCustomInterceptAttribute(); }
public void WithParametersTest() { var proxy = AspectFactory.BuildProxy <AspectTester>(); proxy.WithParameters("fireasy", 22, null); }