2 posts, 0 answers
  1. Yann
    Yann avatar
    2 posts
    Member since:
    Jul 2015

    Posted 17 Jul 2015 Link to this post


    while decompiling System.Web.Http.Owin.dll (Microsoft.Aspnet.WebApi.Owin Nuget package), I ​found PassiveAuthenticationMessageHandler.SendAsync method which contains following source code:

    protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
        if (request == null)
            throw new ArgumentNullException("request");
        HttpResponseMessage httpResponseMessage = await this.<>n__FabricatedMethod3(request, cancellationToken);
        return httpResponseMessage;


    What does 'this.<>n__FabricatedMethod3' mean? Is it calling base class SendAsync method? Any link towards some explanations of this notation? Of course, if I click on it, no such method is found.



  2. Alexander
    Alexander avatar
    79 posts

    Posted 22 Jul 2015 Link to this post

    Hello Yann,

    The C# compiler generate methods with such names for base method invocations which are returning Task and the await operator is applied to that task. In this case JustDecompile failed to convert the compiler generated stuff to proper C#. What should be done in this case: the "<>n__FabricatedMethod3" method invocation must be replaced with the expression of the return statement from the "<>n__FabricatedMethod3" method. 

    However, you can still see the compiler generated method. You must enable "Show compiler generated types and members" from the settings menu and restart the application in order for this change to take effect. If you need any further assistance, please, do not hesitate to contact us again.

    Please, update regularly and stay tuned.

    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
  3. DevCraft R3 2016 release webinar banner
Back to Top