private static EmptyProxyFactory CreateFactory() { var factory = new EmptyProxyFactory(); factory.MethodCalled += (sender, args) => { Console.WriteLine($"MethodCalled: {args.MethodInfo}"); if (args.Arguments.Any()) { Console.WriteLine("Arguments:"); } for (var i = 0; i < args.Arguments.Count; i++) { Console.WriteLine($"{i}: \"{args.Arguments[i]?.ToString() ?? "null"}\""); } }; factory.EventRaised += (sender, args) => { Console.WriteLine($"EventRaised: {args.EventInfo}"); }; factory.EventCompleted += (sender, args) => { Console.WriteLine($"EventCompleted: {args.EventInfo}"); }; return(factory); }
public void EmptyTest() { EmptyProxyFactory emptyProxyFactory = new EmptyProxyFactory(); var ia = (IA)Activator.CreateInstance(emptyProxyFactory.CreateInterfaceProxy<IA>()); Assert.IsNotNull(ia); ia.Echo(); Assert.IsNull(ia.EchoClass()); Assert.IsNull(ia.EchoString()); Assert.AreEqual(0, ia.EchoInteger()); Assert.IsFalse(ia.EchoNullableInteger().HasValue); Assert.IsNull(ia.EchoTaskInteger()); Assert.AreEqual(emptyProxyFactory.CreateInterfaceProxy<IA>(), emptyProxyFactory.CreateInterfaceProxy<IA>()); }
public void EmptyTest() { EmptyProxyFactory emptyProxyFactory = new EmptyProxyFactory(); var ia = (IA)Activator.CreateInstance(emptyProxyFactory.CreateInterfaceProxy <IA>()); Assert.IsNotNull(ia); ia.Echo(); Assert.IsNull(ia.EchoClass()); Assert.IsNull(ia.EchoString()); Assert.AreEqual(0, ia.EchoInteger()); Assert.IsFalse(ia.EchoNullableInteger().HasValue); Assert.IsNull(ia.EchoTaskInteger()); Assert.AreEqual(emptyProxyFactory.CreateInterfaceProxy <IA>(), emptyProxyFactory.CreateInterfaceProxy <IA>()); }
/// <summary> /// /// </summary> /// <param name="arguments"></param> /// <param name="eventInfo"></param> /// <param name="proxyFactory"></param> public EventEventArgs(List <object?> arguments, EventInfo eventInfo, EmptyProxyFactory proxyFactory) { Arguments = arguments ?? throw new ArgumentNullException(nameof(arguments)); EventInfo = eventInfo ?? throw new ArgumentNullException(nameof(eventInfo)); ProxyFactory = proxyFactory ?? throw new ArgumentNullException(nameof(proxyFactory)); }
/// <summary> /// /// </summary> /// <param name="arguments"></param> /// <param name="methodInfo"></param> /// <param name="proxyFactory"></param> public MethodEventArgs(List <object?> arguments, MethodInfo methodInfo, EmptyProxyFactory proxyFactory) { Arguments = arguments ?? throw new ArgumentNullException(nameof(arguments)); MethodInfo = methodInfo ?? throw new ArgumentNullException(nameof(methodInfo)); ProxyFactory = proxyFactory ?? throw new ArgumentNullException(nameof(proxyFactory)); }