using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Net; using System.IO; namespace Update { class Program { static void Main(string[] args) { var request = WebRequest.Create("url"); SetBasicAuthHeader(request, "name", "password"); var response = request.GetResponse(); } public void SetBasicAuthHeader(WebRequest request, String userName, String userPassword) { string authInfo = userName + ":" + userPassword; authInfo = Convert.ToBase64String(Encoding.Default.GetBytes(authInfo)); request.Headers["Authorization"] = "Basic " + authInfo; } } } 

When executed, it gives an error:

Error 1 For non-static field, method or property "Update.Program.SetBasicAuthHeader (System.Net.WebRequest, string, string)" object reference E: \ Update \ Program.cs 17 13 Update is required

What am I doing wrong?

    1 answer 1

    You must declare the SetBasicAuthHeader method as static so that you can call it from another static method without creating an object.

     public static void SetBasicAuthHeader(WebRequest request, ...) { ... }