public void PrivateAbstractClassReverseProxyTest() { var resetEvent = new ManualResetEventSlim(); var eventInstance = new LogEventPropertyValueImpl(resetEvent); var type = typeof(Datadog.Trace.Vendors.Serilog.Events.LogEventPropertyValue); var proxy2 = eventInstance.DuckImplement(type); eventInstance.SetBaseInstance(proxy2); ((Datadog.Trace.Vendors.Serilog.Events.LogEventPropertyValue)proxy2).ToString("Hello world", null); Assert.True(resetEvent.Wait(5_000)); }
public void PrivateAbstractClassReverseProxyTest() { var resetEvent = new ManualResetEventSlim(); var eventInstance = new LogEventPropertyValueImpl(resetEvent); var type = typeof(Datadog.Trace.Vendors.Serilog.Events.LogEventPropertyValue); #if NET452 Assert.Throws <DuckTypeTypeIsNotPublicException>(() => { eventInstance.DuckCast(type); }); #else var proxy2 = eventInstance.DuckCast(type); eventInstance.SetBaseInstance(proxy2); ((Datadog.Trace.Vendors.Serilog.Events.LogEventPropertyValue)proxy2).ToString("Hello world", null); Assert.True(resetEvent.Wait(5_000)); #endif }