title: How to make async call using async and await keyword
body: <p>I am using Linq To Twitter which support async and await feature.</p>
  
  <p>I have win form app which call method inside dll  to get Followers..(Currently, I am just returning back an integer but I want to return followers, don't know how to do this part)</p>
  
  <pre><code> private void SubmitButton_Click(object sender, EventArgs e)
          {
              try
              {
  
                  MessageBox.Show("Please wait for few mins");
  
                  var maxFollowers = (MaxFollowers.Text == "") ? (int?)null : int.Parse(MaxFollowers.Text);
  
                  var followers = TwitterHelper.GetFollowersTweets
                     (Convert.ToUInt64(TwitterUserID.Text), ConsumerKey.Text, ConsumerSecretKey.Text,
                         AccessToken.Text, AccessTokenSecret.Text, maxFollowers);
  
  
                  MessageBox.Show(string.Format("Total Followers Found: {0}", followers.ToString()));
  
              }
              catch (Exception ex)
              {
                  MessageBox.Show(string.Format("Something went wrong!"));
              }
          }
  </code></pre>
  
  <p>The method which is call from Form </p>
  
  <pre><code>  public static int GetFollowersTweets
           (ulong twitterUserId, string consumerKey, string consumerKeySecret,
             string accessToken, string accessTokenSecret, int? maxFollowers)
          {
  
  
              var auth = GetUserAuthorizationToken
                 (consumerKey, consumerKeySecret,
                     accessToken, accessTokenSecret);
  
              var followers = GetTwitterFollowers
                (twitterUserId, auth, maxFollowers);
  
              var followersTweets = new List&lt;TwitterData&gt;();
  
              followers.ContinueWith((taskWithMsg) =&gt;
                                     {
                                         followersTweets = GetFollowersTweetsList(taskWithMsg.Result, auth);
                                     });
  
  
  
              return 2;
  
  
              // return followersTweets;
  
          }
  </code></pre>
  
  <p>The main method which fetch followers from Twitter API "GetTwitterFollowers"</p>
  
  <pre><code> private static async Task&lt;List&lt;TwitterData&gt;&gt; GetTwitterFollowers(
           ulong twitterUserId, SingleUserAuthorizer auth, int? maxFollowers)
          {
  
              var followerss = maxFollowers ?? 15000;
  
              try
              {
                  var twitterCtx = new TwitterContext(auth);
                  var followers = await twitterCtx.Friendship
                                            .Where(f =&gt; f.Type == FriendshipType.FollowersList
                                                &amp;&amp; f.UserID == twitterUserId.ToString())
                                            .Select(f =&gt; new TwitterData()
                                            {
  
                                                Followers = f.Users.Where(t =&gt; !t.Protected).Take(followerss).Select(s =&gt; s).ToList()
                                            }).SingleOrDefaultAsync();
  
  
                  return GetFollowersList(followers.Followers);
  
  
              }
              catch (Exception ex)
              {
                  return null;
              }
  
          }
  </code></pre>
  
  <p>Currently, the flow of my app is like this</p>
  
  <p>1) When submit button click from MY Form, It call public method "GetFollowersTweets" which then call internal method "GetTwitterFollowers".. And this internal method is async, so when it start fetching the followers, the control return back to the public method again and it simply return an integer to the caller on the form...And after sometime, when twitter fetches the followers, it resume the rest of the task from the below line</p>
  
  <pre><code> followers.ContinueWith((taskWithMsg) =&gt;
                                         {
                                             followersTweets = GetFollowersTweetsList(taskWithMsg.Result, auth);
                                         });
  </code></pre>
  
  <p>As you can see, I simply returning an int, instead I want to return "followersTweets", how can I do that?? What changes are required? Please help</p>