private static void InitEtwMethods() { Type fest = typeof(FrameworkEventSource); var beginParamTypes = new Type[] { typeof(object), typeof(string), typeof(bool), typeof(bool) }; var bindingFlags = BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public; var mi1 = fest.GetMethod("BeginGetResponse", bindingFlags, null, beginParamTypes, null); var mi2 = fest.GetMethod("EndGetResponse", bindingFlags, null, new Type[] { typeof(object), typeof(bool), typeof(bool), typeof(int) }, null); var mi3 = fest.GetMethod("BeginGetRequestStream", bindingFlags, null, beginParamTypes, null); var mi4 = fest.GetMethod("EndGetRequestStream", bindingFlags, null, new Type[] { typeof(object), typeof(bool), typeof(bool) }, null); if (mi1 != null && mi2 != null && mi3 != null && mi4 != null) { s_EtwFireBeginGetResponse = (DelEtwFireBeginWRGet)mi1.CreateDelegate(typeof(DelEtwFireBeginWRGet), FrameworkEventSource.Log); s_EtwFireEndGetResponse = (DelEtwFireEndWRespGet)mi2.CreateDelegate(typeof(DelEtwFireEndWRespGet), FrameworkEventSource.Log); s_EtwFireBeginGetRequestStream = (DelEtwFireBeginWRGet)mi3.CreateDelegate(typeof(DelEtwFireBeginWRGet), FrameworkEventSource.Log); s_EtwFireEndGetRequestStream = (DelEtwFireEndWRGet)mi4.CreateDelegate(typeof(DelEtwFireEndWRGet), FrameworkEventSource.Log); } s_TriedGetEtwDelegates = true; }
private static void InitEtwMethods() { Type fest = typeof(FrameworkEventSource); var beginParamTypes = new Type[] { typeof(object), typeof(string), typeof(bool), typeof(bool) }; var bindingFlags = BindingFlags.Instance|BindingFlags.NonPublic|BindingFlags.Public; var mi1 = fest.GetMethod("BeginGetResponse", bindingFlags, null, beginParamTypes, null); var mi2 = fest.GetMethod("EndGetResponse", bindingFlags, null, new Type[] { typeof(object), typeof(bool), typeof(bool), typeof(int) }, null); var mi3 = fest.GetMethod("BeginGetRequestStream", bindingFlags, null, beginParamTypes, null); var mi4 = fest.GetMethod("EndGetRequestStream", bindingFlags, null, new Type[] { typeof(object), typeof(bool), typeof(bool) }, null); if (mi1 != null && mi2 != null && mi3 != null && mi4 != null) { s_EtwFireBeginGetResponse = (DelEtwFireBeginWRGet) mi1.CreateDelegate(typeof(DelEtwFireBeginWRGet), FrameworkEventSource.Log); s_EtwFireEndGetResponse = (DelEtwFireEndWRespGet)mi2.CreateDelegate(typeof(DelEtwFireEndWRespGet), FrameworkEventSource.Log); s_EtwFireBeginGetRequestStream = (DelEtwFireBeginWRGet) mi3.CreateDelegate(typeof(DelEtwFireBeginWRGet), FrameworkEventSource.Log); s_EtwFireEndGetRequestStream = (DelEtwFireEndWRGet) mi4.CreateDelegate(typeof(DelEtwFireEndWRGet), FrameworkEventSource.Log); } s_TriedGetEtwDelegates = true; }